数据结构--单链表

1. 链表的概念及结构

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


2.节点从头到尾的打印


3.尾插

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

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

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


4.头插

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


5.尾删

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


6.头删


7.查找


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


9.删除pos节点


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


11.测试

相关推荐
Jasmine_llq5 分钟前
《B4354 [GESP202506 一级] 假期阅读》
数据结构·算法·最值筛选算法(核心逻辑)·三元运算符简化分支算法·多输入顺序处理算法·整数算术运算算法·格式化输出算法
算法鑫探13 分钟前
C语言结构体:学生信息统计实战
c语言·数据结构·算法·新人首发
爱吃生蚝的于勒17 分钟前
【Linux】网络之http协议
linux·运维·服务器·网络·数据结构·c++·http
历程里程碑29 分钟前
44. TCP -23Linux聊天室实现命令符功能
java·linux·开发语言·数据结构·c++·排序算法·tcp
丶小鱼丶31 分钟前
数据结构和算法之【二叉树】
java·数据结构·算法
Thomas.Sir37 分钟前
精通 MySQL 面试题
数据结构·数据库·mysql
罗湖老棍子44 分钟前
打鼹鼠_二维树状数组(信息学奥赛一本通- P1540)(二维树状数组模版题)
数据结构·算法·树状数组·二维树状数组
_日拱一卒44 分钟前
LeetCode:盛最多水的容器
数据结构·算法·leetcode
计算机安禾1 小时前
【数据结构与算法】第2篇:C语言核心机制回顾(一):指针、数组与结构体
c语言·开发语言·数据结构·c++·算法·链表·visual studio
愣头不青1 小时前
78.子集
数据结构·算法