有序表的建立、插入和删除.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一、有序表的建立、插入与删除 一、实验目的 1、了解有序表的顺序存贮结构。 2、掌握有序表元素在内存中是怎样存贮的。 在有序表中实现如下操作: 插入一个新元素到第i个位置。使原来标号为增1。 删除第i个位置的元素。 存一个新元素到第i个位置。 读表 检索表中第i个元素。 寻表的长度 二、实验原理 线性表是最常用的而且也是最简单的一种数据结构,线性表是N个数据元素的有限序列。例如26个英文元素的字母表:(A,B,C,D,···)。其数据结构的描述为:Linear_list=(D,R)其中:D={ai|ai属于D0,i=1,2,3,···}R={N},N={ai-1,ai|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个元素就是把余后的元素依次向前移一个位置。即:以元素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过 程显示功能表 四、参考程序 /* 有序表的建立、插入与删除 */ static int array[100]; int j,i,n,p; int ch; void du() { printf(please tell me which numbers do you operate:); scanf(%d,i); while (in) { printf(ERROR,please enter new element); scanf(%d,i); } } void da() { printf(the list is:); for(j=0;jn;j++) printf(%3d,array[j]); printf(\n); } void show() { printf(-----------------------------------\n); printf( the function of the list\n); printf( 1: insert\n); printf( 2: delete\n); printf( 3: save new element\n); printf( 4: read list\n); printf( 5: check\n); printf( 6: the length of the list\n); printf( 0: end\n); printf(-----------------------------------\n); } main() { printf(please input the length of list:); scanf(%d,n); printf(\n); printf(please enter number:); for (i=0;in;i++) scanf(%d,array[i]); p=1; while (p!=0) { show(); printf (enter p: ); scanf(%d,p); if(p=0p=6) {switch(p) { case 1: printf(the inserted number places the front o

您可能关注的文档

文档评论(0)

5201314118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档