线性表的定义和特点
同一线性表中的元素必定具有相同的特征,数据元素间的关系是线性的。
顺序表的基本操作
- InitList(&L)(Initialization List) 初始化线性表
- DestroyList(&L)
- ClearList(&L): 表置空
- ListEmpty(L): 若线性表L为空表,则返回TURE
- ListLength(L)
- GetElem(L,i,&e) 用e返回线性表L中第i个数据元素的值。
- LocateElem(L,e,compare()); compare()是数据元素判定函数。
操作结果是返回L中第一个与e满足compare()的数据元素的位序。若不存在则返回0 - LIstInsert(&L,i,e)
- LIstDelete(&L,i,&e)
- ListTraverse(&L,visited())
顺序表的特点
- 以物理位置相邻表示逻辑关系,任一元素均可随机存取。
- 关系线性化,结点顺序化
- 地址连续,依次存放,随机存取,类型相同。-------------与数组类型相同
线性表长可变,数组长度不可动态定义。
动态定义数组:
动态要地址
L.data = (ElemType*)malloc(sizeof(ElemType)*MaxSize);