- 概念
- 线性表的抽象数据类型定义:
ADT List {
数据对象: D
数据关系: R
基本操作:
初始化、撤销、清空、判空;
求表长、表头、表尾、前趋、后继;
读元素、查找 含定位) 、遍历;
插入、删除;
} - 线性表的基本操作如何表示?
- InitList(&L); //建空表,初始化
- DestoryList(&L); //撤销表,释放内存
- int LengthList(L); //求表中元素个数,即表长
- POSITION locateElem ( L,ElemType e,compare() ) //查找e
- PriorElem( L,cur_e,&pre_e ); //求当前元素e的前驱
- NextElem( L,cur_e,&next_e ) ; //求当前元素e的后继
- ListInsertBefore( &L,i,e ); //把e插入到第i个元素之前
- ListDelete( &L,i,&e ); //删除第 i 个元素并查看此元素
- ListTraverse( L,Visit() ); //查看表中全部元素 (遍历)
- 顺序表的表示
1)线性表的顺序表示又称为顺序存储结构或顺序映像,也就是说,把线性表按顺序排列就是顺序表;
2)顺序存储定义: 把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
3)特点:逻辑上相邻的元素,物理上也相邻;
4)顺序存储方法: 用一组地址连续的存储单元依次存储线性表的元素(可以利用数组V[n]来实现)。
5)注意:在C语言中数组的下标是从0开始,到n-1结束,而顺序表是[1,n ]。