目录
引言
什么是单链表
基本概念
核心特点:
单链表图解
单链表的实现
1.手动创建链表
测试结果
2.单链表结构
链表打印
创建新结点
尾插 时间复杂度O(N)
尾插测试
头插 时间复杂度O(1)
头插测试
尾删 时间复杂度O(N)
尾删测试
头删 时间复杂度O(1)
头删测试
查找 时间复杂度O(N)
查找测试
编辑
在指定位置之前插入数据 时间复杂度O(N)
测试编辑
在指定位置后插入代码 时间复杂度O(1)
测试
删除pos结点 时间复杂度O(N)
测试
删除pos结点 时间复杂度O(1)
销毁链表 时间复杂度O(N)
代码放在下面链接啦,希望能对你有帮助~
戊苯菌/数据结构https://gitee.com/jiang-bos-blog-post/data-structure
引言
单链表是数据结构中的基础与经典,它以节点为单位,在非连续的内存空间中通过指针串联数据,形成逻辑上的线性序列。相比数组的静态连续存储,单链表天生具有动态扩展的能力,插入与删除节点只需调整指针,避免了大规模数据搬移的开销,尤其适合频繁变动的场景。然而,灵活性的代价是失去了随机访问的便捷,每一次查找都可能需要从头遍历。这种在时间与空间、顺序与链式之间的取舍,正是理解链表价值的关键所在。
什么是单链表
基本概念
单链表是一种线性数据结构,它通过指针将一组非连续的内存空间(节点)按特定顺序连接起来。
核心特点:
动态结构:内存空间按需分配,不需要预先确定大小
非连续存储:节点在内存中可以分散存储
单向链接:每个节点只能找到它的后继节点,不能直接找到前驱节点
单链表图解
通过上图,我们也不难看出,单链表实际上就是很多个结点结构如同火车车厢般链接(每个结点的指针都指向下一个结点,最后一个结点指向NULL)
单链表的实现
1.手动创建链表
测试结果
2.单链表结构
就像我们概念部分所介绍,单链表实际上包含存储数据部分和链接下一节点的指针,内容如上
链表打印
创建新结点
尾插 时间复杂度O(N)
尾插测试
头插 时间复杂度O(1)
头插测试
尾删 时间复杂度O(N)
尾删测试
头删 时间复杂度O(1)
头删测试
查找 时间复杂度O(N)
查找测试
在指定位置之前插入数据 时间复杂度O(N)
测试![]()
在指定位置后插入代码 时间复杂度O(1)
测试
删除pos结点 时间复杂度O(N)
测试
删除pos结点 时间复杂度O(1)
测试
销毁链表 时间复杂度O(N)
推荐对头部进行改变(头插,头删等时间复杂度低)
感谢您看到这里,不知是否可以为博主留下一个点赞或评论呢?这对博主很有用,同时有问题或争论可以在评论区提出~感谢支持~