初始化表
构造一个空的线性表
InitList(&L)
销毁操作
销毁线性表,并释放线性表L所占用的内存空间
DestoryList(&L)
按值查找LocateElem(L,e)
在表L中查找具有给定关键字值的元素
ElemType LocateElem(SqList L, ElemType e) {
int i;
for (i = 0; i < L.length; i ++)
if (L.data[i] == e)
return i + 1;
return 0;
}
按位查找GetElem(L,i)
获取表L中的第i个位置的元素的值
ElemType GetElem(SqList L, ElemType i) {
return L.data[i - 1];
}
插入ListInsert(&L,i,e)
在表L中的第i个位置上插入指定元素
bool ListInsert (SqList &L, int i, ElemType e) {
if (i < 1 || i > L.length + 1)
return false; // 判断i是否合法
if (L.length > MaxSize) // 判断存储空间是否满
return false;
for (int j = L.length; j >= i; j --)
L.data[j] = L.data[j - 1]; // 将位置i之后的所有元素后移
L.data[i - 1] = e;
L.length ++;
return true;
}
删除ListDelete(&L,i,&e)
删除表L中第i个位置的元素,并用e返回删除元素的值
bool ListDelete (SqList &L, int i, ElemType &e) {
if (i < 1 || i > L.length + 1) // 判断i的范围是否合法
return false;
e = L.data[i - 1]; // 被删除的元素赋值给e
for (int j = i; j < L.length; j ++)
L.data[j - 1] = L.data[j]; // 将第i个位置后的元素前移
L.length --; // 线性表长度-1
return true;
}
表长
返回线性表L的长度,即L中数据元素的个数
Length(L)
输出
按前后顺序输出线性表L的所有元素的值
PrintList(L),
判空
若L为空表,则返回True,否则返回False
Empty(L)