欢迎来到天天文库
浏览记录
ID:57185301
大小:48.00 KB
页数:4页
时间:2020-08-05
《数据结构-顺序表的查找插入与删除.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、上机实验的问题和要求:顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求:1.从键盘输入10个整数,产生顺序表,并输入结点值。2.从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。3.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果。4.从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。二、源程序及注释:#incl
2、ude#include/*顺序表的定义:*/#include#defineListSize100/*表空间大小可根据实际需要而定,这里假设为100*/typedefintDataType;/*DataType可以是任何相应的数据类型如int,float或char*/typedefstruct{DataTypedata[ListSize];/*向量data用于存放表结点*/intlength;/*当前的表长度*/}SeqList;voidmain(){SeqList
3、L;inti,x;intn=10;/*欲建立的顺序表长度*/L.length=0;voidCreateList(SeqList*L,intn);voidPrintList(SeqListL,intn);intLocateList(SeqListL,DataTypex);voidInsertList(SeqList*L,DataTypex,inti);voidDeleteList(SeqList*L,inti);CreateList(&L,n);/*建立顺序表*/PrintList(L,n);/*打印顺序表*/printf("
4、输入要查找的值:");scanf("%d",&x);i=LocateList(L,x);/*顺序表查找*/printf("输入要插入的位置:");scanf("%d",&i);printf("输入要插入的元素:");scanf("%d",&x);InsertList(&L,x,i);/*顺序表插入*/PrintList(L,n);/*打印顺序表*/printf("输入要删除的位置:");scanf("%d",&i);DeleteList(&L,i);/*顺序表删除*/PrintList(L,n);/*打印顺序表*/}/*顺序
5、表的建立:*/voidCreateList(SeqList*L,intn){inti;for(i=0;idata[i]);L->length=n;}/*顺序表的打印:*/voidPrintList(SeqListL,intn){inti;for(i=0;i6、]!=x)++i;if(i7、8、i>L->length+1){printf("插入位置非法");exit(0);}if(L->length>=ListSize){printf("表空间溢出,退出运行");exit(0);}for(j=L->length-1;j>=i-1;j--)L->data[j+1]=L->data[j];L-9、>data[i-1]=x;L->length++;}/*顺序表的删除:*/voidDeleteList(SeqList*L,inti){intj;if(L->length==0){printf("现行表为空,退出运行");exit(0);}if(i<110、11、i>L->length){printf("删除位置非法");exit(0);}for(j=i;j<=L->length-1;j++)L->data[j-1]=L->data[j];L->length--;}三、运行输出结果:四、调试和运行程序过程中产生的问题及采取的12、措施:
6、]!=x)++i;if(i7、8、i>L->length+1){printf("插入位置非法");exit(0);}if(L->length>=ListSize){printf("表空间溢出,退出运行");exit(0);}for(j=L->length-1;j>=i-1;j--)L->data[j+1]=L->data[j];L-9、>data[i-1]=x;L->length++;}/*顺序表的删除:*/voidDeleteList(SeqList*L,inti){intj;if(L->length==0){printf("现行表为空,退出运行");exit(0);}if(i<110、11、i>L->length){printf("删除位置非法");exit(0);}for(j=i;j<=L->length-1;j++)L->data[j-1]=L->data[j];L->length--;}三、运行输出结果:四、调试和运行程序过程中产生的问题及采取的12、措施:
7、
8、i>L->length+1){printf("插入位置非法");exit(0);}if(L->length>=ListSize){printf("表空间溢出,退出运行");exit(0);}for(j=L->length-1;j>=i-1;j--)L->data[j+1]=L->data[j];L-
9、>data[i-1]=x;L->length++;}/*顺序表的删除:*/voidDeleteList(SeqList*L,inti){intj;if(L->length==0){printf("现行表为空,退出运行");exit(0);}if(i<1
10、
11、i>L->length){printf("删除位置非法");exit(0);}for(j=i;j<=L->length-1;j++)L->data[j-1]=L->data[j];L->length--;}三、运行输出结果:四、调试和运行程序过程中产生的问题及采取的
12、措施:
此文档下载收益归作者所有