数据结构-链表
数据结构-链表
链表是一种基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer),简单来说链表并不像数组存储在一个连续的内存地址空间里,他们可以是不连续的因为他们每个节点保存着下一个节点的引用(地址),所以较之数组来说这是一个优势。
1.单链表
单链表是链表的一种,由节点组成,每个节点包含到下一个节点的指针。
单链表特点:
- 链表增删元素时间复杂度度为O(1),查找一个元素复杂度为O(n)
- 单链表不需要预先分配空间,避免空间浪费
- 单链表不能进行回溯操作,例如读取倒数几个节点的值
1 |
|
单链表的基本操作
链表添加元素
- 添加头部
- 添加尾部
链表删除元素
- 删除指定位置
- 删除倒数第K个节点
链表查询元素
- 指定索引
- 查询倒数第K个节点
其他操作
寻找链表中间元素
旋转单链表
翻转单链表
单链表排序
- 冒泡排序
- 插入排序
链表相加求和
删除重复元素
2.双循环链表
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!