(1)线性表:n个同类型数据元素有限序列。L=(a1,a2,...ai...an).ai的数据类型相同。
线性表抽象数据类型定义:
①数据对象
②数据关系
③基本操作
包含: 结构初始化操作 线性表的定位
结构销毁操作 线性表的释放
引用型操作 查询,定位
加工型操作 删除,插入
(2)合并线性表
思想:从一个线性表A中逐一取出元素,判断该元素是否在另一线性表B中,若不在,则将该元素插入到线性表A中。
(3)线性表的存储结构以及基本操作
1.顺序存储结构
2.链式存储结构:单链表,循环链表,双链表;
单链表:数据域(数据元素)+指针域=结点;
循环链表:①循环单链表
②带尾指针的循环单链表:将两个循环单链表合并;
在最后一个元素后添加新元素,在第一个元素前插入新元素;
③双向链表
(4)栈
1.栈:限定的在表的同一端进行插入或删除的线性表(插入和删除受限的线性表)。
2.入栈:插入元素的操作;
3.出栈:删除元素的操作;
①顺序栈:按顺序入栈;
②链栈:栈底 链表的头部
栈顶 链表的头部
采用单链表的节点结构
将单链表的首段作为栈顶
(5)队列
1.队列:限定只能在表的一端进行插入,在表的另一端进行删除的线性表(插入和删除受限的线性表)。
队尾:允许插入的一端
队头:允许删除的一端
2.队列的基本操作
初始化,销毁,清空,判空,判满,入队,出队
3.队列的顺序存储
约定:对头指针指向队头元素前面位置,队尾指针指向队尾位置
4.队列的链式存储
主要操作:链表尾部插入,链表头部删除(需要头节点,头指针指向第一个节点,尾指针指向最后一个节点)。