数据结构--单链表

1. 链表的概念及结构

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


2.节点从头到尾的打印


3.尾插

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

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

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


4.头插

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


5.尾删

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


6.头删


7.查找


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


9.删除pos节点


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


11.测试

相关推荐
琢磨先生David5 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
qq_454245035 天前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝5 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA5 天前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc5 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
wefg15 天前
【算法】单调栈和单调队列
数据结构·算法
岛雨QA5 天前
图「Java数据结构与算法学习笔记12」
数据结构·算法
czxyvX5 天前
020-C++之unordered容器
数据结构·c++
岛雨QA5 天前
多路查找树「Java数据结构与算法学习笔记11」
数据结构·算法
AKA__Zas5 天前
初识基本排序
java·数据结构·学习方法·排序