-
数据结构的概述
严蔚敏 吴伟民
高一凡
黄国瑜
链表
定义
n个结点离散分配
彼此通过指针相连
每个结点只有一个前驱结点和一个后继结点
首结点没有前驱结点,尾结点没有后继结点
专业术语
- 首结点 第一个有效的结点
- 尾结点 最后一个有效的结点
- 头结点 第一个有效结点之前的结点 **其中不存储有效数据和个数 ** 作用:方便对链表的操作 头节点的数据类型和首结点的类型一样
- 头指针 :指向头节点的指针变量
- 尾指针:指向尾结点的指针变量
确定一个链表需要几个参数
- 只需要一个参数:头指针
分类
-
单链表
-
双链表
- 每一个结点有两个指针域
-
循环链表
- 能通过任何一个结点找到其他所有的结点
-
非循环链表
算法
-
遍历
-
查找
-
清空
-
销毁
-
求长度
-
排序
-
删除结点
//方法一: p->pNext = p->pNext->pNext;//会导致内存泄漏即内存越用越少 //方法二: r=p->pNext; p->pNext = p->pNext->pNext; free(r);//delete(r);
-
插入结点
//方法一: r=p->pNext; p->pNext=q; q->pNext=r; //方法二: q->pNext=p->pNext; p->pNext=q;