目录
线性表
1、概念框架
线性表的物理实现包括顺序表和单链表,循环链表和双向链表是单链表的变化形式。
2、顺序表
顺序表的地址计算
顺序表的查找
时间代价(比较次数分析)
顺序表的插入
顺序表的删除
3、单链表
不带附加头结点的单链表
插入操作需要考虑是否为空表or是否插入在最前面,因此需要注意分情况。
删除操作同样需要分类讨论。
带附加头结点的单链表
由于不带附加头结点要分类讨论,情况复杂,因此,引入带附加头结点的单链表。
注意空表的条件:front->link ==NULL / front == last
练习:单链表的逆置
4、循环链表
(仍然分是否带头结点)
循环链表的特点:
•循环链表最后一个结点的 link 指针不 为 0 (NULL),而是指向了表的前端。
•只要知道表中某一结点的地址,就可搜寻到所有其他结点的地址。
5、双向链表
一道好题:
设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表 B.单循环链表
C. 带尾指针的单循环链表 D.带头结点的双循环链表
答案:D
6、静态链表
做机试题是可能遇到。