02-线性表和广义表
02-线性表和广义表
线性表
线性表的抽象数据类型描述
类型名称:线性表
数据对象集:线性表是n(≥0)个元素组成的有序序列(a1,a2,...,an)
操作集:线性表L∈List,整数i表示位置,元素X∈ElementType, 线性表基本操作有:
- List MakeEmpty(): 初始化一个空线性表;
- ElementType FindKth(int K, List L): 根据位序K,返回相应元素;
- int Find(ElementType X, List L): 在线性表L中查找x的第一次出现位置;
- void Insert(ElementType X, int i,List L):在位序i前插入一个新元素X;
- void Delete(int i,List L):删除指定位序i的元素;
- int Length(List L): 返回线性表L的长度n;
广义表
广义表是线性表的推广
对于线性表而言,n个元素都是基本的单元素
广义表中,这些元素不仅可以是单元素,也可以是另一个广义表
多重链表
- 链表中的节点可能同时隶属于多个链
- 多重链表中节点的指针域会有多个
- 单包含两个指针域的链表并不一定是多重链表,比如双向链表不是多重链表
多重链表有广泛的用途:基本上如树、图这样相对复杂的结构都可以采用多重链表方式实现存储