线性表的基本操作:

插入操作:

1
2
3
4
5
6
7
8
9
10
11
12
//插入操作。在表L中的第i个位置上插入指定元素e。
int ListInsert(SqList *L, int i, ElemType e) {
if (i < 1 || i > L->length + 1;)
return 0;
if(L->length>=MaxSize)
return 0;
for(int j=L->length;j>=i;j--)
L->data[j]=L.data[j-1];
L->data[i]=e;
L->length++;
return 1;
}

删除操作:

1
2
3
4
5
6
7
8
9
10
//删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值。
int ListDelete(SqList *L, int i, int *e) {
if (i < 1 || i > L->length)
return 0;
e = L->data[i - 1];
for (int j = i; j < L->length; j++)
L->data[j - 1] = L->data[j];
L->length--;
return 1;
}

按值查找(顺序查找):

1
2
3
4
5
6
7
8
//按值查找操作。在表L中查找具有给定关键字值的元素。
int LocateElem(SqList *L, int e) {
int i;
for (i = 0; i < L->length; i++)
if (L->data[i] == e)
return i + 1;
return 0;
}