常见的线性表的基本操作(12个)的源代码
1. InitList(L)
构造一个空的线性表L,即表的初始化。
2. DestroyList(L)
销毁线性表,包括释放其占用的空间、链表长度置为0等
3. ClearList(L)
将线性表L重置为空表
4. ListEmpty(L)
判断线性表是否为空
5. ListLength(L)
求线性表的长度
6. GetElem(L,i,&e)
取线性表L中的第i个结点,这里要求1≤i≤ListLength(L)
7. LocateElem(L,e,(compare*)(,))
返回L中第1个与e满足关系compare()的数据元素的位序
8. PriorElem(L,cur_e,⪯_e)
若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义
9. NextElem(L,cur_e,&next;_e)
若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义
10. ListInsert(L,i,e)
在线性表L的第i个位置上插入一个值为e 的新结点,使得原编号为i,i+1,…,n的结点变为编号为i+1,i+2,…,n+1的结点。这里1≤i≤n+1,而n是原表L的长度。插入后,表L的长度加1。
11. ListDelete(L,i,&e)
删除线性表L的第i个结点,并用e返回其值,使得原编号为i+1,i+2,…,n的结点变成编号为i,i+1,…,n-1的结点。这里1≤i≤n,而n是原表L的长度。删除后表L的长度减1。
12. ListTraverse(L,(*vi)(&))
依次对L的每个数据元素调用函数vi(),vi()的形参加'&',表明可通过调用vi()改变元素的值