数据结构--单链表

1. 链表的概念及结构

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


2.节点从头到尾的打印


3.尾插

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

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

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


4.头插

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


5.尾删

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


6.头删


7.查找


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


9.删除pos节点


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


11.测试

相关推荐
666HZ6661 天前
数据结构2.0 线性表
c语言·数据结构·算法
余瑜鱼鱼鱼1 天前
Java数据结构:从入门到精通(十二)
数据结构
一叶知秋061 天前
数据结构-什么是队列?
数据结构·队列
Jasmine_llq1 天前
《CF280C Game on Tree》
数据结构·算法·邻接表·深度优先搜索(dfs)·树的遍历 + 线性累加统计
zhongvv1 天前
对单片机C语言指针的一些理解
c语言·数据结构·单片机·指针·汇编语言
im_AMBER1 天前
Leetcode 102 反转链表
数据结构·c++·学习·算法·leetcode·链表
Xの哲學1 天前
深入剖析Linux文件系统数据结构实现机制
linux·运维·网络·数据结构·算法
C雨后彩虹1 天前
竖直四子棋
java·数据结构·算法·华为·面试
荒诞硬汉1 天前
对象数组.
java·数据结构
散峰而望1 天前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法