实验二、有序表的建立、插入和删除

实验二、有序表的建立、插入和删除

ID:41722667

大小:49.92 KB

页数:6页

时间:2019-08-30

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

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

1、实验二.有序表的建立、插入与删除一、实验目的1、了解有序表的顺序存贮结构。2、常握有序表元素在内存中是怎样存贮的。3、在有序表中实现如下操作:(1)插入一个新元素到第i个位置。(2)删除第i个位置的元素。(3)存一个新元素到第i个位置。(4)读表(5)检索表中第i个元素。(6)寻表的长度二、实验要求:要求实现:建表操作、插入新元素、删除第i个位置的元素,检索表屮第i个元素,寻表的t度。写出实验原理、算法思想(流程图)、完整程序代码、输出结果验证。二、实验原理(一)线性表是最常用的而II也是最简单的一种数据结构,线性表是N个数据元素的有限序列。例如26个英文元素的字母表:(A,B,C,D

2、,・・・)。其数据结构的描述为:Linear_list=(D,R)其中:D={ai

3、ai属于DO,1=1,2,3,・・・}R={N},N={vai・l,ai>

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

5、删除第i个元素就是把余后的元素依次向前移一个位置。即:以元素ai+1,ai+2,・・・,依次取代ai,ai+l,・・・。删除后的表长是n・l(n是原表长)。三、程序流程图〈开始〉四、参考程序/*有序表的建立、插入与删除*/staticintarray[100];intj,i,n,p;intch;voiddu(){printf("pleasetellmewhichnumbersdoyouoperate:");scanf(”%d”,&i);while(i>n){printf(HERROR,pleaseenternewelement");scanf('*%d",&i);}}voidda(){

6、printf("thelistis:");for(j=0;j

7、ntfC*“);}main()printf("pleaseinputthelengthoflist:'1);scanf("%d”,&n);printf("M);printf(Hpleaseenternumber:");for(i=0;i=0&&p<=6){switch(p){case1:printf(ntheinsertednumberplacesthefrontoftheoperationn);du();

8、for(j=n-l;j>=i-1;j—)array

9、j+lJ=array

10、j];printf(Hpleaseenternumber:M);scanf(”%d“,&ch);array[i・1]二ch;n+=l;da();break;case2:du();for(j=i-l;j<=n;j++)array

11、j]=array[j+l];n-=l;da();break;case3:du();printf(Hpleaseenternewnumber:n);scanf(n%d'&ch);printf(nH);array[i-l]=ch;da();break;case4:da();bre

12、ak;case5:du();printf(nwhatisthe%dnumber:",i);printf(H%3dH,array[i-l]);break;case6:printf(Hthelengthofthelistis:”);printf(H%3du,n);break;case0:p=0;break;}printf(nERROR,pleaseenternewnumberH);

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

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

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