线性表:
Operation:
InitList(*L):初始化操作,建立一个空的线性表L。
ListEmpty(L):判断线性表是否为空表,若为空,返回true,否则返回false。
ClearList(*L):将线性表清空;
GetElem(L,i,*e):将线性表L中的第i个位置元素返回给e;
LocatElem(L,e):在线性表L中查找与给定值e相等的元素,如果查找成功,返回该元素在表中序号表示成功;否则返回0表示失败。
ListInsert(*L,i,e):线性表L中第i个位置插入新元素e;
ListDelete(*L,i,*e):删除线性表L中第i个位置元素,并用e返回其值。
ListLength(L):返回线性表L的元素个数。
endADT
线性表 顺序存储结构
顺序存储结构代码:
#define MAXSIZE 20 //线性表最大存储容量:数组长度MAXSIZE
typedef int datatype;
typedef struct
{
datatype a[MAXSIZE];
int size;//线性表当前长度
}sequence_list;
注意,数组的长度与线性表的当前长度需要区分一下:数组的长度是存放线性表的存储空间的总长度,一般初始化后不变。而线性表的当前长度是线性表中元素的个数,是会变化的。
地址计算方法: