预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验1顺序表的操作 一、实验要求 1.输入一组整型元素序列,建立顺序表。 2.实现该顺序表的遍历。 3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。 4.判断该顺序表中元素是否对称,对称返回1,否则返回0。 5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。 6.*输入整型元素序列利用有序表插入算法建立一个有序表。 7.*利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。 8.编写一个主函数,调试上述算法。 二、源代码 #defineElemTypeint//int类型宏定义 #defineMAXSIZE100 //顺序结构 typedefstruct { ElemTypeelem[MAXSIZE];//元素数组 intlength;//当前表长 }SqList; //建立顺序表 voidBuildList(SqList&L) { intn; 请输入建立顺序表的大小。 L.length=n; 开始建立顺序表 for(inti=0;i<L.length;i++)//循环建立顺序表 { 请输入第%d个元素: } 建立顺序表完毕! } //遍历顺序表 voidShowList(SqList&L) { inti; 开始遍历顺序表 for(i=0;i<L.length;i++) 遍历结束 } //在顺序表中寻找X元素 intFindList(SqList&L,intx) { inta=0; for(inti=0;i<L.length;i++) { if(L.elem[i]==x) a=1; } if(a==1) else return0; } //判断是否对称 intDuichen(SqList&L) { intj,b=1,n; n=L.length; if(n%2==0) { for(j=0;j<n/2;j++) { if(L.elem[j]!=L.elem[L.length-j-1]) b=0; } } else for(j=0;j<(n-1)/2;j++) { if(L.elem[j]!=L.elem[L.length-j-1]) b=0; } if(b==1) else return0; } //前面为奇数,后面为偶数 voidPaixuList(SqList&L) { inti,j,a; for(i=1;i<L.length;i++) { if(L.elem[i]%2==1) { a=L.elem[i]; for(j=i;j>0;j--) { L.elem[j]=L.elem[j-1]; } L.elem[0]=a; i++; } } for(i=0;i<L.length;i++) } intmain() { SqListList; intn; while(1) { 实验一:顺序表 1.创建顺序表 2.遍历顺序表 3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否 则返回 4.判断该顺序表中元素是否对称,对称返回1,否则返回 5.该表中所有奇数排在偶数之前,即表的前面为奇数,后面 为偶数 0.退出 请输入选择序号: switch(n) { case0: return0; case1: BuildList(List); break; case2: ShowList(List); break; case3: intX; 请输入要查找值: FindList(List,X); break; case4: Duichen(List); break; case5: PaixuList(List); break; default: 请输入数字 } } return0; } 三、运行结果 1)程序主界面 2)选择1建立顺序表 3)选择2遍历顺序表 4)选择3查询元素X 5)选择4判断是否对称 6)选择5奇数在前,偶数在后 7)选择0退出