#include "list.h" //包含list.h文件
int main() {
list p;//定义线性表
init(&p);//初始化线性表
//init1(p);//初始化线性表
printf("初始化后数组元素为\n");
printList(p);//输出线性表中元素
ElemType m;int n;int s;
while(1)
{ menu();//调用menu函数显示菜单
scanf("%d",&s);//根据菜单的提示,输入
switch(s)
{case 1:{
printf("\n请输入要插入数据的位置\n");
scanf("%d",&m);
printf("请输入要插入的数据元素值\n");
scanf("%d",&n);
printf("待插入数据位置:%d,元素值:%d\n",m,n);
addValue(&p,m,n);//调用addValue()函数实现在第m个元素位置插入n
printf("插入后数据元素为:\n");
printList(p);//调用printList()函数实现输出线性表
break;}
case 2:{
printf("\n请输入要判断的数据\n");
scanf("%d",&m);
if(isExitValue(p,m)) printf("%d存在于线性表中\n",m);
else printf("%d不存在于线性表中\n",m);
break;
}
case 3:{
printf("\n请输入要查找的数据\n");
scanf("%d",&m);
int x=Locate(p,m);//调用Locate函数返回m在线性表中的位置
if(x>0)printf("%d是线性表中第%d个元素\n",m,x);
else printf("%d不存在于线性表中\n",m);
break;
}
case 4:{
printf("\n请输入要删除的数据元素\n");
scanf("%d",&m);
printf("删除了%d个\n",deleteValue(&p,m));
printf("删除后元素的值是:\n");
printList(p);
break;
}
case 5:{
printf("\n请输入要删除的数据位置\n");
scanf("%d",&n);
if(deleteValueN(&p,n))
{
printf("删除成功\n");
printf("删除后线性表元素是\n");
}
else printf("删除失败\n");
printList(p);
break;
}
case 6: printlen(p);break;
case 7: printList(p);break;
case 8:
printf("程序运行结束");
exit(0);//return 0;结束程序运行
default :
printf("无此操作,请重新输入");
break;
}
}
/*printf("请输入要查找的数据\n");
scanf("%d",&m);
int x=Locate(p,m);
if(n>0)printf("%d是第%d个元素\n",m,n);
else printf("数据不存在\n");
printf("请输入要删除的数据\n");
scanf("%d",&m);
printf("删除了%d个\n",deleteValue(&p,m));
printf("删除后数组元素的值是\n");
printList(p);
//动态初始化
/*list *l;
l=(list *)malloc(sizeof(list));
init2(&l);
printList2(l);
*/
return 0;
}