关于顺序表的实验报告.docx

上传人:b****5 文档编号:5346261 上传时间:2022-12-15 格式:DOCX 页数:11 大小:58.28KB
下载 相关 举报
关于顺序表的实验报告.docx_第1页
第1页 / 共11页
关于顺序表的实验报告.docx_第2页
第2页 / 共11页
关于顺序表的实验报告.docx_第3页
第3页 / 共11页
关于顺序表的实验报告.docx_第4页
第4页 / 共11页
关于顺序表的实验报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

关于顺序表的实验报告.docx

《关于顺序表的实验报告.docx》由会员分享,可在线阅读,更多相关《关于顺序表的实验报告.docx(11页珍藏版)》请在冰豆网上搜索。

关于顺序表的实验报告.docx

关于顺序表的实验报告

2011——2012学年第一学期

合肥学院数理系

实验报告

 

课程名称:

数据结构

实验项目:

顺序表的基本运算

实验类别:

综合性□设计性□验证性□

专业班级:

09数学

(2)

姓名:

张琼

学号:

0907022040

实验地点:

7#606

实验时间:

2011.10.28

指导教师:

李旭成绩:

一.实验目的:

熟悉关于顺序表的一些基本运算

二.实验内容:

顺序表置空

#include

#definemaxlen20

typedefstruct{

intdata[maxlen];

intlast;

}Sequenlist;

voidSqLsetnull(Sequenlist*L){

L->last=-1;}

voidmain()

{

Sequenlistl;

SqLsetnull(&l);

}

顺序表求表长

#include

#definemaxlen20

typedefstruct{

intdata[maxlen];

intlast;

}Sequenlist;

intsqllength(Sequenlist*l)

{return(l->last+1);}

voidmain()

{

Sequenlistl;

inti;

for(i=0;i<10;i++)

scanf("%d",&l.data[i]);

l.last=i-1;

printf("%d",sqllength(&l));

}

按序号取元素程序

#include

#definemaxlen20

typedefstruct{

intdata[maxlen];

intlast;

}sequenlist;

intsqlget(sequenlist*l,inti)

{

intx;

if(i<1||i>l->last+1)

printf("超出范围");

else

x=l->data[i-1];

returnx;

}

voidmain()

{

sequenlistl;

inti,j;

for(i=0;i<10;i++)

scanf("%d",&l.data[i]);

l.last=i-1;

printf("请输入序号\n");

scanf("%d",&j);

printf("%d",sqlget(&l,j));

}

按值查找程序

#include

#definemaxlen20

typedefstruct{

intdata[maxlen];

intlast;

}Sequenlist;

voidsqllocate(Sequenlist*l,intx)

{

inti,z=0;

for(i=0;ilast+1;i++)

if(l->data[i]==x){

printf("%d",i+1);

z=1;}

if(z==0)

printf("%d",-1);

}

voidmain()

{

Sequenlistl;

inti,n;

for(i=0;i<5;i++)

scanf("%d",&l.data[i]);

l.last=i-1;

printf("请输入要查找的数\n");

scanf("%d",&n);

sqllocate(&l,n);

}

判表满程序

#include

#definemaxlen10

typedefstruct{

intdata[maxlen];

intlast;

}Sequenlist;

intsqlempty(Sequenlist*l)

{

if(l->last+1>=maxlen)

return

(1);

else

return(0);

}

voidmain()

{

Sequenlistl;

inti,n;

for(i=0;i<5;i++)

scanf("%d",&l.data[i]);

l.last=i-1;

printf("%d",sqlempty(&l));

}

顺序表插入程序

#include

#definemaxlen20

typedefstruct{

intdata[maxlen];

intlast;

}Sequenlist;

intsqlempty(Sequenlist*l)

{

if(l->last+1>=maxlen)

return

(1);

else

return(0);

}

intsqlinsert(Sequenlist*l,inti,intx)

{

intj;

if(sqlempty(l)==1)

{printf("overflow");

return(0);

}

elseif((i<1)||(i>l->last+2))

{

printf("error");

return(0);

}

else{

for(j=l->last;j>=i-1;j--)

l->data[j+1]=l->data[j];

l->data[i-1]=x;

l->last=l->last+1;

return

(1);

}

}voidmain()

{

Sequenlistl;

inti,n,m;

for(i=0;i<5;i++)

scanf("%d",&l.data[i]);

l.last=i-1;

printf("请输入插入的位置和元素\n");

scanf("%d%d",&m,&n);

sqlinsert(&l,m,n);

for(i=0;i<6;i++)

printf("%d",l.data[i]);

}

删除元素程序

#include

#definemaxlen20

typedefstruct{

intdata[maxlen];

intlast;

}sequenlist;

intsqldelete(sequenlist*l,inti)

{

intj;

if(l->last<0)

{

printf("顺序表为空");

return0;

}

elseif((i<1)||(i>l->last+1))

{

printf("参数出错");

return0;

}

else

{

for(j=i;j<=l->last+1;j++)

l->data[j-1]=l->data[j];

l->last--;

return1;

}

}

voidmain()

{

sequenlistl;

inti,n;

for(i=0;i<5;i++)

scanf("%d",&l.data[i]);

l.last=i-1;

printf("请输入删除的位置\n");

scanf("%d",&n);

printf("%d",sqldelete(&l,n));

}

 

三.实验方案(程序设计说明)

五.程序运行结果

求表长

按序号取元素

按值查找

判表满

顺序表插入

删除元素

六.实验总结

通过本次实验,我掌握了有关顺序表的一些基本运算,顺序表的置空、求表长、按序号取元素、按值查找、判表满、插入数据、删除元素。

进一步熟悉了顺序表的基本算法

学生签名:

张琼

年月日

七.教师评语及成绩

教师签名:

年月日

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

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1