数据结构(二)链表

本文目录

1 什么是链表

2 链表抽象数据类型

3 单向链表

3.1 插入操作

3.1.1 在链表头插入

3.1.2 在链表尾插入

3.1.3 在链表中间任意位置插入

3.2 删除查找

3.2.1 在链表头删除

3.2.2 在链表尾删除

3.2.3 在链表中间任意位置删除

4 双向链表

4.1 插入操作

4.1.1 在链表头插入

4.1.2 在链表尾插入

4.1.3 在链表中间任意位置插入

4.2 删除查找

4.2.1 在链表头删除

4.2.2 在链表尾删除

4.2.3 在链表中间任意位置删除

5 循环链表

5.1 插入操作

5.1.1 在链表头插入

5.1.2 在链表尾插入

5.1.3 在链表中间任意位置插入

5.2 删除查找

5.2.1 在链表头删除

5.2.2 在链表尾删除

5.2.3 在链表中间任意位置删除


1 什么是链表

链表是一种用于存储数据集合的数据结构。链表有如下属性:

(1)相邻元素之间通过指针连接;

(2)最后一个元素的后继指针值为null;

(3)在程序执行的过程中,链表的长度可以增加或缩小;

(4)链表的空间能够按需分配(直到系统资源耗尽);

(5)没有内存空间的浪费(但是链表中的指针需要一些额外的内存开销)。

2 链表抽象数据类型

链表抽象数据类型中的操作主要有:

(1)主要操作

a)插入:插入一个元素到链表中;

b)删除:移除并返回链表中指定位置的元素。

(2)链表的辅助操作

a)删除链表:移除链表中的所有元素(清空链表);

b)计数:返回链表中元素的个数;

c)寻找:寻找从链表表尾开始的第n个结点。

下述内容参考:《数据结构与算法经典问题解析》一书,待补充:

3 单向链表

3.1 插入操作

3.1.1 在链表头插入

3.1.2 在链表尾插入

3.1.3 在链表中间任意位置插入

3.2 删除查找

3.2.1 在链表头删除

3.2.2 在链表尾删除

3.2.3 在链表中间任意位置删除

4 双向链表

4.1 插入操作

4.1.1 在链表头插入

4.1.2 在链表尾插入

4.1.3 在链表中间任意位置插入

4.2 删除查找

4.2.1 在链表头删除

4.2.2 在链表尾删除

4.2.3 在链表中间任意位置删除

5 循环链表

5.1 插入操作

5.1.1 在链表头插入

5.1.2 在链表尾插入

5.1.3 在链表中间任意位置插入

5.2 删除查找

5.2.1 在链表头删除

5.2.2 在链表尾删除

5.2.3 在链表中间任意位置删除

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值