资源描述:
《数据结构域算法设计-实验一 顺序表和单链表的基本操作的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一顺序表和单链表的基本操作的实现一、顺序表实验内容:1.编写函数,通过数组,建立一个顺序表。2.编写函数,实现对该顺序表的遍历。3.编写函数,在顺序表中进行顺序查找某一元素,查找成功则返回其存储位置i,否则返回错误信息。4.编写函数,实现在顺序表的第i个位置上插入一个元素e的算法。5.编写函数,实现删除顺序表中第i个元素的算法。6.编写函数,实现输入一个元素data,把它插入到有序表中,使顺序表依然有序。7.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法。实验目的及要求:1.掌握顺序表的存储结构形式及其描述2.掌握顺序表的建立、查找、插入和删除操作。实验程序:#includ
2、e#include#defineM100//最大限voidcreat_list(inta[],intn);//建立顺序表voiddatafind_list(inta[],intd);//按值查找元素voidfind_list(inta[],inti);//按位查找元素voidin(inta[],inti,inte);//插入接点voiddelet(inta[],inti);//删除接点voidprint_list(inta[]);//打印顺序表intmain(){inta[M];intdata;intnum;intplace;intch;printf("输
3、入数据个数:");scanf("%d",&num);creat_list(a,num);print_list(a);while(1){printf("请选择操作:");printf("***************************************************************");printf("1.按值查找2.按位查找3.插入接点4.删除接点");printf("***************************************************************");scanf("%d",&ch);switch(ch
4、){case1:printf("Pleaeenterthedatayouwanttofind:");//按值查找scanf("%d",&data);datafind_list(a,data);break;case2:printf("Pleaeenterwhereyouwanttofind:");//按位查找scanf("%d",&place);printf("Theplaceis:%d",place);find_list(a,place);break;case3:printf("Pleaeenterwhereyouwanttoinsert:");//插入接点scanf("%d"
5、,&place);printf("inputadatawhatyouwanttoinsert");scanf("%d",&data);in(a,place,data);print_list(a);break;case4:printf("Pleaeenterwhereyouwanttodelet:");//删除接点scanf("%d",&place);printf("Theplaceis:%d",place);printf("Pleaeenterwhereyouwanttodelet:");scanf("%d",&place);printf("Theplaceis:%d",pla
6、ce);delet(a,place);print_list(a);break;default:printf("输入错误,请重新选择");break;}}return0;}voidcreat_list(inta[],intn)//建立顺序表{inti;intj;intx;printf("输入数据:");scanf("%d",&a[1]);for(i=2;i<=n;i++){scanf("%d",&x);for(j=1;j<=i-1;j++){if(x==a[j]){break;}}if(j>i-1){a[i]=x;}elsei--;}a[0]=n;}voiddatafind_list(inta[
7、],intd)//按值查找元素{inti;intj=0;for(i=1;i<=a[0];i++){if(d==a[i])printf("thedatais%danditsplaceis%d",d,i);elsej++;}if(j==a[0]){printf("error");}}voidfind_list(inta[],inti)//按位查找{if(i<1
8、
9、i>a[0]+1){print