顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx

上传人:b****2 文档编号:5196754 上传时间:2023-05-04 格式:DOCX 页数:14 大小:164.96KB
下载 相关 举报
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第1页
第1页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第2页
第2页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第3页
第3页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第4页
第4页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第5页
第5页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第6页
第6页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第7页
第7页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第8页
第8页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第9页
第9页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第10页
第10页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第11页
第11页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第12页
第12页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第13页
第13页 / 共14页
顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx

《顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。

顺序存储的线性表维护子系统的实现实验报告Word格式文档下载.docx

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.掌握对多函数程序的输入、编辑、调试和运行过程。

通过以上的程序编程,可见已经基本可以实现顺序表中数据的输入输出、查找、删除、插入等基本操作。

但是以上的程序中存在的最严重的问题是,不能实现多次操作,即少一个循环结果,当实现某个功能后,必须退出系统后,才能实现下一个功能。

在改进的过程中,可以试着加一个循环结构,从而实现多功能的同时实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2