第一讲 双链表
-
双链表
在线性表的链式存储结构中,每个物理节点增加一个指向后继节点的指针域和一个指向前驱结点的指针域。 -
双链表的优点:
- 从任意节点出发可以快速找到其前驱节点和后继节点。
- 从任意节点出发可以访问其他节点。
第二讲 循环链表
- 循环链表是另一种形式的链式存储结构形式
- 循环单链表
将表中尾节点的指针域改为指向表头结点,整个链表形成一个环。由此从表中任一节点出发均可找到链表中其他节点。 - 循环双链表
形成两个环。
- 循环单链表
- 与非循环单链表相比,循环单链表:
- 链表中没有空指针域
- p所指节点为尾节点的条件:p->next==L
- 与非循环双链表相比,循环双链表:
- 链表中没有空指针域
- p所指节点为尾节点的条件:p->next==L
- 一步操作即L-prior可以找到尾节点
第三讲 线性表的应用
第四讲 有序表
- 有序表:表中所有元素以递增或递减方式有序排列。
- 有序表的归并算法:
假设有两个有序表LA和LB,设计一个算法,将他们合并成一个有序表LC。- 使用i,j两个指针遍历两个有序表
- 比较i,j所指元素的大小
- 较小的元素以尾插法存入LC,所知的指针向后移一位。
- 最后如果一个指针为空,判断另一个列表是否为空,不为空则将剩余元素全部插入LC。