顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx
- 文档编号:5196754
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:14
- 大小:164.96KB
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx
《顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。
intfind(inta[],intx,intlast)
{
inti,findi;
intflag;
flag=0;
findi=0;
i=0;
while((i<
last)&
&
(!
flag))
{
if(a[i]==x)
findi=i;
flag=1;
}
elsei=i+1;
if(!
flag)
findi=-1;
return(findi);
}
intinsert(inta[],intp,intx,intlast)
inti;
if(p>
last+1)printf("
listisfull"
);
else
for(i=last-1;
i>
=p-1;
i--)
a[i+1]=a[i];
}a[p-1]=x;
last=last+1;
for(i=0;
i<
last;
i++)
printf("
data%d%d\n"
i,a[i]);
returnlast;
intdelete(inta[],intp,intlast)
if((p>
last-1)||p<
0)
positioniswrong\n"
for(i=p+1;
=last-1;
a[i-1]=a[i];
last=last-1;
intmain()
inta[max],i,s,x,p,last,t,j;
pleaseinputthenumberofdatas\n"
scanf("
%d"
&
last);
pleaseinputthedata%d"
i);
a[i]);
ifyouwanttofindthenumber,pleaseinput1\n"
ifyouwanttoinsertthenumber,pleaseinput2\n"
ifyouwanttodeletethenumber,pleaseinput3\n"
ifyouwanttochangethenumber,pleaseinput4\n"
ifyouwanttoorderthenumber,pleaseinput5\n"
s);
if(s==1)
pleaseinputthefindingnumber:
"
x);
thenumberisdata%d\n"
find(a,x,last));
if(s==2)
pleaseinputthepositionandinsertnumber:
%d%*c%d"
p,&
//scanf("
last=insert(a,p,x,last);
if(s==3)
pleaseinputthedeletenumberposition:
p);
last=delete(a,p-1,last);
if(s==4)
pleaseinputthepositionandthenewnumber:
a[p-1]=x;
last-1||p<
thepositioniswrong"
thenewlistis:
\n"
if(s==5)
for(j=i+1;
j<
j++)
if(a[i]<
a[j])
t=a[j];
a[j]=a[i];
a[i]=t;
return0;
二、实验过程
点击运行后,首先提示输入的数据个数,不妨输入5个数,按提示输入五个数据,按回车,系统提示选择功能:
依次选择功能1,2,3,4,5即可:
功能1:
(当要找的数字不存在时,显示-1)
功能2:
功能3:
(当要删除的位置超出时,提示错误)
功能4:
(输入的位置不对时,提示错误)
功能5:
(降序排列)
三、实验分析
插入算法的关键是,将要插入的位置及其以后的数据依次后移,空出一个位置放置新元素,线性表的长度将增加一个。
例如在第四个结点前面插人一个新结点。
首先把单元3到6之间的所有结点向后移动一个单元,空出一个位置,然后将x=100插入到该位置。
删除算法的关键是,将要删除的位置i的元素用后一个元素代替,后面的依次替代前面的元素,线性表的长度将减一。
例如将3号单元结点删除,把单元4到6之间的所有结点向前移动一个单元。
四、实验结论
实验的目的是:
1.学会定义线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。
2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找等基本运算。
3.掌握对多函数程序的输入、编辑、调试和运行过程。
通过以上的程序编程,可见已经基本可以实现顺序表中数据的输入输出、查找、删除、插入等基本操作。
但是以上的程序中存在的最严重的问题是,不能实现多次操作,即少一个循环结果,当实现某个功能后,必须退出系统后,才能实现下一个功能。
在改进的过程中,可以试着加一个循环结构,从而实现多功能的同时实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 存储 线性 维护 子系统 实现 实验 报告