- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《《数据结构与算法》实验指导书》.doc
实验一、有序表的建立、插入与删除
一、实验目的
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是原表长)。
三、程序流程图
四、参考程序
/* 有序表的建立、插入与删除 */
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 of the operation\n);
du();
for (j=n-1;j=i-1;j--)
您可能关注的文档
最近下载
- 教师资格证初中数学教案汇总.pdf VIP
- 海外留学生体育活动参与情况与身体素质的研究教学研究课题报告.docx
- 教科版新版科学三年级上册《8.天气的影响》教案.docx VIP
- 如何设计护理研究方案.pptx VIP
- 英语演讲技巧与实践 课件 Chapter1 Understanding Public Speaking.pptx
- 低空与低空经济分析与研究.pptx VIP
- 成长英语教师用书 进阶篇PPTUnit 7.pptx VIP
- 农村宅基地培训.pptx VIP
- 变电站设备巡视检查及验收培训课件[1].ppt VIP
- 《保险基础与实务》(徐昆第4版) 课件 第二章 保险原则与保险合同.pptx
文档评论(0)