当前位置: 首页 > wzjs >正文

青岛谁做网站多少钱最新seo自动优化软件

青岛谁做网站多少钱,最新seo自动优化软件,做网站找模板去哪好,石家庄住房和城乡建设部网站本节介绍链表 目录 1.什么是链表 1.1链表定义 1.2链表分类 2.链表实现 2.1创建链表 1)手动创建 2)创建链表类进行管理链表的相关操作 2.2添加元素 1)头插法 2)尾插法 3)任意位置插入 2.3删除 2.4查找 1&…

本节介绍链表

目录

1.什么是链表

1.1链表定义

1.2链表分类

2.链表实现

2.1创建链表

1)手动创建

2)创建链表类进行管理链表的相关操作

2.2添加元素

1)头插法

2)尾插法

3)任意位置插入

2.3删除

2.4查找

1)返回节点

2)返回索引


1.什么是链表

1.1链表定义

链表是一种数据结构,它由一系列节点组成。每个节点包含至少两部分信息:数据域(用于存储数据元素)和指针域(用于存储指向下一个节点的引用或地址)。链表通过节点之间的指针连接,形成一个链式结构。

与数组不同:1.数组中的元素在内存中是连续存储的,而链表的节点在内存中的存储位置不一定是连续的。2.链表它在插入和删除操作上相对数组更加灵活

1.2链表分类

  • 单向链表:也称为单链表,是最基本的链表形式。每个节点只包含一个指向下一个节点的指针,只能从链表的头节点开始,沿着指针依次访问后续节点,无法反向遍历。
  • 双向链表:在双向链表中,每个节点除了有一个指向后继节点的指针外,还有一个指向前驱节点的指针。这使得双向链表可以在两个方向上进行遍历,既可以从头节点向后遍历,也可以从尾节点向前遍历。
  • 循环链表:循环链表又分为单向循环链表和双向循环链表。单向循环链表的尾节点的指针指向头节点,形成一个环形结构,这样可以从任意一个节点出发,遍历整个链表。双向循环链表则是头节点的前驱指针指向尾节点,尾节点的后继指针指向头节点,同样实现了环形的结构,提供了更灵活的遍历方式。

2.链表实现

2.1创建链表

1)手动创建

即自己创建一个node类然后调用

package com.qcby;public class Node {Node next;int value;public static void main(String[] args) {Node node1 = new Node();node1.value = 1;Node node2 = new Node();node2.value = 2;node1.next = node2;System.out.println(node1.value);System.out.println(node1.toString());}public String toString() {return "Node[" +"next=" + next +", value=" + value +']';}
}

2)创建链表类进行管理链表的相关操作

使用 LinkList list = new LinkList(); 创建链表

2.2添加元素

1)头插法

头插法就是每次有一个新的元素进入链表时,将新节点插入到链表的头部,使其成为新的头节点。

代码如下:

	public void addHead(int value) {Node node=new Node(value);if(head==null) {head=node;return;}node.next=head;head=node;}

2)尾插法

当每次链表接受新的元素时,将新节点插入到链表的尾部,使其成为新的尾节点。

代码如下:

public void add(int data) {Node node = new Node();node.value = data;if (head == null) {head = node;} else {Node temp = head;while (temp.next != null) {temp = temp.next;}temp.next = node;}}

3)任意位置插入

在接收到新元素时,给新元素的位置做规定,即任意位置插入是将新节点插入到链表的指定位置。

代码:

public void addIndex(int index, int data) {Node node = new Node();node.value = data;if (index < 0 || index > getLength()) {System.out.println("超出范围");return;}if (index == 0) {addHead(data);} else {Node temp = head;for (int i = 0; i < index - 1; i++) {temp = temp.next;}node.next = temp.next;temp.next = node;}}

注意:想要实现任意位置插入,需要关注其链表长度,防止该插入位置比链表长度大出现问题

即实现一个求解长度的类,主要是通过遍历链表节点来记录长度:

    public int getLength() {int length = 0;Node temp = head;while (temp != null) {length++;temp = temp.next;}return length;}

2.3删除

public void remove(int data) {if (head == null) {System.out.println("链表为空");return;}if (head.value == data) {head = head.next;return;}Node temp = head;while (temp.next != null) {if (temp.next.value == data) {temp.next = temp.next.next;return;}temp = temp.next;}}

2.4查找

1)返回节点

    public Node find(int data) {Node temp = head;while (temp != null) {if (temp.value == data) {return temp;}temp = temp.next;}return null;}

2)返回索引

    public int findIndex(int data) {Node temp = head;int index = 0;while (temp != null) {if (temp.value == data) {return index;}temp = temp.next;index++;}return -1;}

http://www.dtcms.com/wzjs/76906.html

相关文章:

  • 做展览的网站aso优化公司
  • 江西正东建设工程有限公司网站外贸推广网站
  • 汽车租赁企业网站源码百度灰色关键词代做
  • 哪些做任务的网站靠谱谷歌广告联盟怎么做
  • 网站备案是什么一回事seo关键词优化排名推广
  • 广东公司网站建设哪家好深圳网站开发技术
  • 施工企业资质承包范围搜索引擎营销seo
  • 网站更换空间注意百度关键字排名软件
  • 企业培训 电子商务网站建设 图片什么是友情链接?
  • 兰州新晨诚网络科技有限公司线下课程seo
  • 福州网站营销班级优化大师官方免费下载
  • 网站管理和建设工作职责百度导航怎么下载
  • 本地wordpress站点上传文件百度小程序排名优化
  • 网站开发中遇到的技术问题网站seo在线诊断分析
  • 网站建设要多少钱怎样seo短视频网页入口引流下载
  • 广元市住房与城乡建设厅网站云计算培训
  • 网站源代码 phpweb个人网站设计代码
  • 服务好的南昌网站制作关键词搜索排名软件
  • 石家庄是几线城市seo优化交流
  • wordpress百度云网盘沈阳seo代理计费
  • 好用的网站管理系统免费培训机构管理系统
  • 游戏推广员怎么做seo优化员
  • 工程预算软件企业网站优化服务公司
  • 怎么做幼儿园网站介绍ppt搜索引擎广告案例
  • 电子网站建设推广方案最近新闻大事
  • 网站建设知识十大营销手段
  • 江门网站建设工作武汉网站关键词推广
  • 官方网站包括哪几个网站2023年免费进入b站
  • 有什么网站做微商填写电话的广告
  • 做美食分享网站源码青岛网站建设方案服务