有序表的建立、插入与删除

有序表的建立、插入与删除

ID:17875996

大小:42.00 KB

页数:7页

时间:2018-09-07

有序表的建立、插入与删除_第1页
有序表的建立、插入与删除_第2页
有序表的建立、插入与删除_第3页
有序表的建立、插入与删除_第4页
有序表的建立、插入与删除_第5页
资源描述:

《有序表的建立、插入与删除》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一、有序表的建立、插入与删除一、实验目的1、了解有序表的顺序存贮结构。2、掌握有序表元素在内存中是怎样存贮的。3、在有序表中实现如下操作:(1)插入一个新元素到第i个位置。使原来标号为增1。(2)删除第i个位置的元素。(3)存一个新元素到第i个位置。(4)读表(5)检索表中第i个元素。(6)寻表的长度二、实验原理(一)线性表是最常用的而且也是最简单的一种数据结构,线性表是N个数据元素的有限序列。例如26个英文元素的字母表:(A,B,C,D,···)。其数据结构的描述为:Linear_list=(D,R)其中:D={ai

2、a

3、i属于D0,i=1,2,3,···}R={N},N={

4、i=2,3,4,···}。本实验是以数组的形式把有序表存放在计算机内存的一个连续的区域内,这样便有:LOC(ai+1)=LOC(ai)+m。其中m是存放每个元素所占的内存字数。LOC(ai)=LO+m·(i-1)。其中LO是ai的地址,即首地址。(二)实验程序说明插入一个新元素到第i个位置,既把元素ai向后移一个位置,成为元素ai+1,把新元素放入到第i个位置,其他元素依次后移。存一新元素到第i个位置是把元素ai冲掉后存上新值。删除第i个元素就是把余后的

5、元素依次向前移一个位置。即:以元素ai+1,ai+2,···,依次取代ai,ai+1,···。删除后的表长是n-1(n是原表长)。三、程序流程图开始循环初始化顺序表P=0否?结束P值合适吗?P=1插入P=2删除P=3读新值P=4读表P=5检索P=6查表长调用SHOW过程显示功能表四、参考程序/*有序表的建立、插入与删除*/staticintarray[100];intj,i,n,p;intch;voiddu(){printf("pleasetellmewhichnumbersdoyouoperate:");scanf("%d"

6、,&i);while(i>n){printf("ERROR,pleaseenternewelement");scanf("%d",&i);}}voidda(){printf("thelistis:");for(j=0;j

7、;printf("2:delete");printf("3:savenewelement");printf("4:readlist");printf("5:check");printf("6:thelengthofthelist");printf("0:end");printf("-----------------------------------");}main(){printf("pleaseinputthelengthoflist:");scanf("%d",&n);printf("")

8、;printf("pleaseenternumber:");for(i=0;i=0&&p<=6){switch(p){case1:printf("theinsertednumberplacesthefrontoftheoperation");du();for(j=n-1;j>=i-1;j--)array[j+1]=array[j];printf(

9、"pleaseenternumber:");scanf("%d",&ch);array[i-1]=ch;n+=1;da();break;case2:du();for(j=i-1;j<=n;j++)array[j]=array[j+1];n-=1;da();break;case3:du();printf("pleaseenternewnumber:");scanf("%d",&ch);printf("");array[i-1]=ch;da();break;case4:da();break;case5:du();pri

10、ntf("whatisthe%dnumber:",i);printf("%3d",array[i-1]);break;case6:printf("thelengthofthelistis:");printf("%3d",n);break;case0:p=0;break

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。