1 / 26
文档名称:

经典数据结构上机题—答案.doc

格式:doc   大小:118KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

经典数据结构上机题—答案.doc

上传人:vqjyga55 2019/4/28 文件大小:118 KB

下载得到文件列表

经典数据结构上机题—答案.doc

文档介绍

文档介绍:实验一线性表的顺序存储结构实验学时2学时背景知识:顺序表的插入、删除及应用。目的要求:。。,建立顺序表。。,查找成功返回1,否则返回0。,对称返回1,否则返回0。,即表的前面为奇数,后面为偶数。。。、出队操作。,调试上述算法。#include<>#include<>#defineOVERFLOW0#defineMAXSIZE100typedefintElemType;typedefstructlist{ElemTypeelem[MAXSIZE];intlength;}Sqlist;voidCreatlist(Sqlist&L){inti;printf("请输入顺序表的长度:"); //输入一组整型元素序列,建立一个顺序表。scanf("%d",&);for(i=0;i<;i++) scanf("%d",&[i]);}voidprintlist(Sqlist&L) //以输出的形式实现对该顺序表的遍历{inti;for(i=0;i<;i++) printf("%d",[i]);printf("\n");}voidSearchlist(Sqlist&L,intx) //在顺序表中进行顺序查找某一元素x,查找成功则返回其存储位置i,否则返回错误信息{inti,k=-1;for(i=0;i<;i++) if([i]==x){ k=i+1;printf("%d",k);}if(k==-1) printf("error!");printf("\n");}voidInseri(Sqlist&L,inti,intx) //在顺序表的第i个位置上插入一个元素x{intj;for(j=;j>=i;j--) [j]=[j-1];[j]=x;++;}voidDelete(Sqlist&L,inti) //删除顺序表中第i个元素{intj;for(j=i;j<;j++) [j-1]=[j];--;}voidInsert(Sqlist&L,intx) //输入一个元素x,把它插入到有序表中,使顺序表依然有序。{inti,j;if(==MAXSIZE)exit(OVERFLOW); //表满,不能插入for(i=1;i<=&&[i-1]<=x;i++); for(j=;j>=i;j--) [j]=[j-1];[i-1]=x;++;}voidCreatlist_sorted(Sqlist&L) //利用有序表插入算法建立一个有序表{inti,num;ElemTypex;=0;printf("请输入顺序表的长度:");scanf("%d",&num);for(i=1;i<=num;i++){ scanf("%d",&x); Insert(L,x);}}voidMerger(Sqlist&p,Sqlist&r,Sqlist&c)//建立两个非递减有序表,并把它们合并成一个非递减有序表{ElemType*a,*b,i=0,j=0,k=0;a=&[0];b=&[0];=+;while(i<&&j<){if(*a>=*b) {[k]=*b;b++;k++;j++;}else{[k]=*a;a++;k++;i++;}}if(j==)for(;k<;k++){[k]=*a;a++;}elseif(i==) for(;k<;k++) {[k]=*b;b++;}}voidmain(){SqlistL,M,N;intx,i,n;printf(".\n");printf(".\n");printf(".\n");printf("