线性表
基本运算
1.初始化线性表
void InitList(SqList *&L) {
L = new SqList;
L->length = 0;
}
2.销毁线性表
void DestroyList(&L) {
delate L;
}
3.输出线性表
void DispList(L) {
for (int i = 0;i < L->length;i++) {
cout << L->data[i];
cout << endl;
}
}
4.返回L中第一个值域与e相等的逻辑位序,若存在,则返回0
LocateElem(L, e) {
for (int i = 0;i < L->length;i++)
if (L->data[i] == e)
return i + 1;
return 0;
}
5.用e返回L中第i个元素的值
GetElem(L, i, &e) {
if (i<1 || i>L->length)
return false;
e = L->data[i-1];
return true;
}
6.在L的第i个元素前插入e
ListInsert(&L, i, e) {
if (i<1 || i>L->length + 1) {
return false;
}
i--;
for (int j = L->length;j > i;j--) {
L->data[j] == L->data[j - 1];
}
L->data[i] = e;
L->length++;
return true;
}
7.删除L中的第i个元素
ListDelete(&L, i, &e) {
if (i<1 || i>L->length)
return false;
i--;
e = L->data[i];
for (int j = i;j < L->length - 1;j++) {
L->data[j] = L->data[j + 1];
}
L->length--;
return true;
}