当前位置:   article > 正文

数据结构---链表_链串数据结构

链串数据结构

目录

一:概念及结构

1.1:概念

1.2:结构

1.2.1:单向或者双向

1.2.2:带头或者不带头

1.2.3:循环或者非循环​

1.2.4:无头单向非循环链表

1.2.5:无头双向链表

二:链表的实现

尾插法:

 头插法:

删除第一次出现关键字e的结点:

删除所有值为key的结点: ​

 是否包含关键字e在单链表中:

 得到单链表的长度:

将链表中每个结点值域拼接成一个字符串返回: 

任意位置插入,第一个数据结点为0号下标:


一:概念及结构


1.1:概念

链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。

顺序表:底层是一段连续空间---物理上是连续的,逻辑上也是连续的。

链表:物理上不一定连续,逻辑连续。链表中的元素存储在一个一个的节点当中。

1.2:结构

1.2.1:单向或者双向

1.2.2:带头或者不带头

1.2.3:循环或者非循环

1.2.4:无头单向非循环链表

结构简单,一般不会单独用来存数据。

1.2.5:无头双向链表

在Java的集合框架库中LinkedList底层实现就是无头双向循环链表。

二:链表的实现


尾插法:

情况一:链表如果为空,新结点插入后就是链表第一个结点

情况二:链表不空

 头插法:

情况一:如果链表为空,链表使用新结点

情况二:链表不空

删除第一次出现关键字e的结点:

删除所有值为key的结点: 

 是否包含关键字e在单链表中:

 得到单链表的长度:

将链表中每个结点值域拼接成一个字符串返回: 

任意位置插入,第一个数据结点为0号下标:

  1. 检测测试是否合法
  2. 找到index位置的结点,并保存其前一个
  3. 插入新结点

add(int index , E data)add(Node position, E data)
在index位置(类似下标)来插入data在position位置插入data,直接在该position位置之后插入
先需要找到index位置的结点---while,然后插入新结点,时间复杂度:O(N)这种方式不会遍历,时间复杂度:O(1)
可以插在index之前直接插在position位置后

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/670396
推荐阅读
相关标签
  

闽ICP备14008679号