C语言 线性表的实现

来源:百度知道 编辑:UC知道 时间:2024/06/20 08:35:05
谢谢帮忙
用C语言编写一个程序,实现顺序表的各种基本运算,以下各功能分别用一个函数来实现,并在此基础上设计一个主函数进行验证各函数的正确性:
(1)初始化顺序表L。(必做)
(2)输出顺序表L。(必做)
(3)输出顺序表L的长度。(必做)
(4)判断顺序表L是否为空。
(5)输出顺序表L的第i个元素的值。
(6)输出元素x的位置。
(7)在第i个元素位置上插入x元素。
(8)删除L的第i个元素。
(9)删除L中值为x的元素。
注:(1)~(3)为必做的内容,(4)~(9)可任选两个。

typedef int datatype;
#define maxsize 1024
typedef struct
{ ElemType data[MaxSize];
int length;
}SqList;
void InitList(SqList &L)
{ L.length=0;
}
int GetLength(SqList L)
{return L.length;
}
int GetElem(SqList L,int i,ElemType &e)
{ if (i<1||i>L.length)
return 0;
else
{ e=L.data[i-1];
return 1;
}
}
int Locate(SqList L,ElemType x)
{int i=0;
while (L.data[i]!=x)
i++;
if (i>L.length)
return (0);
else
return(i+1);
}
int InsElem(SqList &L,ElemType x,int i)
{ int j;
if(i<1||i>L.length+1)
return 0;
for(j=L.length;j>i;j--)
L.data[j]=L.data[j-1];
L.data[i-1]=x;
L.length++;
return 1;
}
int DelElem(SqList &L,int i)
{ int j;
if(i<1||i>L.length)
return 0;
for(j=i;j<L.length;j++)