参考:http://student.zjzk.cn/course_ware/data_structure/web/main.htm
一、线性表:顺序表、单链表、循环链表、双链表
顺序表:
1.表的初始化
void InitList(SeqList *L)
{\\顺序表的初始化即将表的长度置为0
L->length=0;
}
2.求表长
int ListLength(SeqList *L)
{ \\求表长只需返回L->length
return L->length;
}
3.取表中第i个结点
DataType GetNode(L,i)
{\\取表中第i个结点只需返回和L->data[i-1]即可
if (i<1||i> L->length-1)
Error("position error");
return L->data[i-1];
}
4.查找值为x的结点
5. 插入
具体算法描述
void InsertList(SeqList *L,DataType x,int i)
{//将新结点 x插入L所指的顺序表的第i个结点ai的位置上
int j;
if (i<1||i>L->length+1)
Error("position error");//非法位置,退出运行
if (L->length>=ListSize)
Error("overflow"); //表空间溢出,退出运行
for(j=L->length-1;j>=i-1;j--)
L->data[j+1]=L