数据结构之链表-2022-3-6

1.链表

1.1 链表的概念及结构

3.2 链表的分类

实际中链表的结构非常多样,以下情况组合起来就有8种链表结构

1.单向或者双向

 2. 带头或者不带头

3. 循环或者非循环 

 虽然有这么多的链表的结构,但是我们实际中最常用还是两种结构:

无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。
带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。 

 

3.3无头单向非循环链表的实现:

SList.h

Test.c

SList.c

 

 带头双向循环链表的实现:

List.h

test.c

List.c 

3.4链表的题目:

力扣https://leetcode-cn.com/problems/remove-linked-list-elements/description/

 力扣https://leetcode-cn.com/problems/reverse-linked-list/

思路一:

 思路二:

 这里的思路二可以衍生出两种写法:

一种是不需要判断是否为空指针的写法,另一种就需要判断。

 力扣https://leetcode-cn.com/problems/middle-of-the-linked-list/

 

链表中倒数第k个结点_牛客题霸_牛客网【牛客题霸】收集各企业高频校招笔面试题目,配有官方题解,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&&tqId=11167&rp=2&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking 

 力扣https://leetcode-cn.com/problems/merge-two-sorted-lists/description/

链表分割_牛客题霸_牛客网【牛客题霸】收集各企业高频校招笔面试题目,配有官方题解,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://www.nowcoder.com/practice/0e27e0b064de4eacac178676ef9c9d70?tpId=8&&tqId=11004&rp=2&ru=/activity/oj&qru=/ta/cracking-the-coding-interview/question-ranking

链表的回文结构_牛客题霸_牛客网【牛客题霸】收集各企业高频校招笔面试题目,配有官方题解,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的技术能力https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?tpId=49&&tqId=29370&rp=1&ru=/activity/oj&qru=/ta/2016test/question-ranking

 方法二:

 力扣https://leetcode-cn.com/problems/intersection-of-two-linked-lists/description/

力扣https://leetcode-cn.com/problems/linked-list-cycle/submissions/

力扣https://leetcode-cn.com/problems/linked-list-cycle-ii/description/

力扣https://leetcode-cn.com/problems/copy-list-with-random-pointer/description/

 

 

4.顺序表和链表的区别

与程序员相关的CPU缓存知识 | 酷 壳 - CoolShellhttps://coolshell.cn/articles/20793.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~|Bernard|

你的鼓励是我写下去最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值