数据结构--单链表

1. 链表的概念及结构

链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表
中的指针链接次序实现的 。


2.节点从头到尾的打印


3.尾插

要尾插必然要申请新的节点:

申请新的节点,如果链表是空的,直接将新的节点赋给第一个节点

若不是空的,先找尾,看那个节点next指针指的NULL,找到之后并将新的节点赋给它


4.头插

在这之前先判断是否为空,在申请新节点。


5.尾删

定义两个指针,用prev记录ptail前一个结点,若ptail->next为空,prev为倒数第二个节点,先把倒数第二个节点的next指针置为NULL,在释放最后一个,不然会造成内存泄漏。


6.头删


7.查找


8.在指定位置之前插入数据,在指定位置之后插入数据


9.删除pos节点


10.删除pos之后的节点,销毁链表


11.测试

相关推荐
Code小翊3 小时前
归并排序基础理解
数据结构·算法·排序算法
.小小陈.3 小时前
数据结构2:单链表
c语言·开发语言·数据结构·笔记·学习方法
草莓工作室3 小时前
数据结构4:线性表3-链式存储的线性表
数据结构
Camel卡蒙3 小时前
数据结构——二叉搜索树Binary Search Tree(介绍、Java实现增删查改、中序遍历等)
java·开发语言·数据结构
2401_841495643 小时前
【数据结构】基于Floyd算法的最短路径求解
java·数据结构·c++·python·算法··floyd
立志成为大牛的小牛4 小时前
数据结构——二十三、并查集的终极优化(王道408)
开发语言·数据结构·笔记·学习·程序人生·考研
.YM.Z4 小时前
数据结构——链表(二)
数据结构·链表
勇闯逆流河5 小时前
【C++】用红黑树封装map与set
java·开发语言·数据结构·c++
一只鱼^_5 小时前
第 167 场双周赛 / 第 471 场周赛
数据结构·b树·算法·leetcode·深度优先·近邻算法·迭代加深