#include "stdio.h"
#include "conio.h"
#define MaxLine 100 /顺序存储的最大个数/
typedef int ElemType;
typedef struct
{
ElemType data[MaxLine];/存放顺序表的数组/
int length;/顺序表的长度/
}SqList,*L;
/初始化顺序表/
void InitList(SqList *L)
{
L->length = 0;
}
/得到顺序表的长度/
int GetLength(SqList *L)
{
return L->length;
}
/得到顺序表中的第i个元素/
ElemType GetElem(SqList *L,int i)
{
完成该方法
}
void ListInsert(SqList *L,int i,ElemType x)
/添加线性表中第i个位置上的元素,i从1开始/
{
int j;
if(i < 1 || i > L->length+1) /检查添加位置的合法性/
{
printf("error");
exit(1);
}
if(L->length == MaxLine)
{
printf("overflow!");
exit(1);
}
j = L->length;
while(j<i-1)
{
L->data[j] = L->data[j-1];
j--;
}
L->data[i-1] = x;
L->length++;
}
void ListDelete(SqList L,int i) / 删除线性表中第i个位置上的元素 /
{
int j;
if(i<1 || i>L->length) / 检查空表及删除位置的合法性 /
{
printf ("不存在第i个元素");
exit(0);
}
for(j=i;j<=L->length-1;j++)
L->data[j-1]=L->data[j]; / 向前移动元素 */
L->length--;
}
main()
{
SqList *L;
int t = 1,d=1;
ElemType data;
InitList(L);
for(t=1;t<=8;t++)
{
printf("Please input the %dth list elem:",t);
scanf("%d",&d);
ListInsert(L,t,d);
}
printf("the length of List is %d\n",GetLength(L));
data = GetElem(L,1);
printf("%d\n",data);
printf("%d\n",GetLength(L));
ListDelete(L,1);
data = GetElem(L,1);
printf("%d\n",data);
printf("%d\n",GetLength(L));
getch();
}