无头:指向第一个元素
head:设置任意一个指
只需要设一个尾指针就可以满足,可以找到链表的任何一个值
12.双向链表
首结点前驱是空,尾结点后继是空
表头结点前驱是尾结点,后继指头结点
会考一些操作...13.双向循环链表:没有哪一个指针域是空
3 栈和队列
3.1 栈
1.先进后出
2.栈顶和栈底的定义
3.栈顶的几个定义法:
和
的上一个单元:空栈时分别对应-1和0
4.进展顺序判断:第二斯特林数...,溢出和下溢的判断
5.符号表达式和代替递归函数
6.存储形式
(1)数组,加个top
(2)链式存储,用表头插入:搞清楚插入删除的复杂度:
3.2 队列
1.先进先出
2.双向队列:中间值不能动
输入受限...:只允许在表的一端插入、在两端删除元素的线性表
输出受限:只许在表的两端插入、在一端删除元素的线性表
3.循环队列:
溢出判断:(Q.rear+1)% MAXLENGQ.front
下溢判断:Q.front...列表,若有表名,附表名:对应()
(2)存储结构
(3)表头:第一个元素:可元素,可表
(4)表尾:剩下的元素都是表尾,一定是广义表