#include
#include
#include
#define MAXSIZE 100
#define ElemType int
typedef struct{
ElemType *elem;
int length;
}SqList;
void InitList(SqList *L,int x){ //初始化链表
L->elem=(ElemType *)malloc(x * sizeof(ElemType));
if(!L->elem){
printf("初始化失败");
return -1;
}
L->length=0;
return 0;
}
void InputData(SqList *L){ //输入链表元素
int n,i,data,data_number=1;
printf("输入多少个数:n");
scanf("%d",&n);
for(i=0;i
scanf("%d",&data);
L->elem[i]=data;
L->length++;
}
for(i=0;i
}
}
void getData(SqList *L,int *i,int n){ //查询列表 元素
if(i<1||i>L->length){
printf("查询失败n");
exit(0);
}
i=L->elem[n-1];
return 0;
}
void locateElem(SqList *L,int i){
int n;
for(n=0;n
if(L->elem[n]==i){
printf("查询成功n");
break;
}
}
printf("%d",L->elem[n]);
return 0;
}
void ListInsert(SqList *L,int i,ElemType e){
if((i<1||i>L->length+1)){
printf("位置错误");
return -1;
}
if(L->length==MAXSIZE){
printf("空间不足");
return -1;
}
int j;
for(j=L->length-1;j>=i-1;j--){
L->elem[j+1]=L->elem[j];
}
L->elem[i-1]=e;
++L->length;
for(i=0;i
printf("%d ",L->elem[i]);
}
return 0;
}
int main(){
SqList L;
int a,INitListx,LocateElemx,ListInsertx,ListInserty;
printf("1.创建并初始化顺序表n");
printf("2.输入顺序表元素n");
printf("3.查询顺序表元素n");
printf("4.插入顺序表元素n");
while(1){
scanf("%d",&a);
switch(a){
case 1:
printf("创建多长的顺序表");
scanf("%d",&INitListx);
InitList(&L,INitListx);
printf("初始化成功n");
break;
case 2:
InputData(&L);
printf("录入成功n");
break;
case 3:
printf("输入查询元素位置");
scanf("%d",&LocateElemx);
locateElem(&L,LocateElemx);
break;
case 4:
printf("请输入插入位置n");
scanf("%d",&ListInsertx);
printf("请输入插入内容");
scanf("%d",&ListInserty);
ListInsert(&L,ListInsertx,ListInserty);
break;
}
}
free(L.elem);
}



