- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语言程序设计实践
综合题目:序次表基本算法
班级:
姓名:
同组人员:
提交日期:
一、程序功能:
1、建立一个序次表。2、对建立好的序次表进行一些基本的操作,如:
a.序次表的种类定义。
b.求序次表长操作。
c.取序次表元素操作。
d.按值查找操作。
e.显示元素操作。
插入操作。
g.删除操作。
h.显示元素操作。
二、算法设计思想:
用一组储藏单元来存放线性表中的数据元素,把序次表中的全部元素依据其逻辑结构序次挨次储蓄到从计算机储蓄器中指定储蓄地址开始的一块连续的
储蓄空间。线性表中的第一个地址储蓄在数组的初步地址(下标为0)在定义一个序次表时,除了定义一个数组来储蓄线性表中的全部元素,还需要定义一
个整型变量来储蓄线性表的实质长度。尔后经过对数组元素中的元素进行操作,对序次表进行基本算法。
三、算法运转结果
1、显示整个功能
2、设置序次表的长度:
3、求出并返回序次表的长度:
4、在序次表中拿出某个地址的元素并返回其值:
5、显示序次表中的元素:
6、在序次表的某个地址插入元素:
7、删除序次表中的某个元素
8、输出序次表
9、将序次表逆序输出
10、退出对序次表的操作:
四、收获及领悟
经过对序次表的几个基本运算的调用,实现序次表的几个基本算法。同时也懂
得怎样定义序次表,还有序次表的用法。
五、算法源代码
#includestdio.h
#includestdlib.h
#define
typedef
typedef
MaxSize50
intElemType;
struct
{
ElemTypedata[MaxSize];
intlength;
}SqList;//序次表种类
voidInitList(SqList*L);//
初始化序次表
voidCreateList(SqList*L,ElemTypea[],ElemTypen);//建立序次表
boolListEmpty(SqList*L);
//判断序次表可否为空表
intListLength(SqList*L);
//求序次表长度
voidDispList(SqList*L);
//输出序次表
boolGetElem(SqList*L,ElemTypei,ElemTypee);
//求序次表中某个元素值
intLocateElem(SqList*L,ElemTypee);//依据元素值查找
boolListInsert(SqList*L,ElemTypei,ElemTypee);
//插入元素e
boolListDelete(SqList*L,inti,ElemTypee);//删除元素
voidDestroyList(SqList*L);//销毁序次表
voidInitList(SqList*L)
//初始化序次表
{
L=(SqList*)malloc(sizeof(SqList));
L-length=0;
}
voidCreateList(SqList*L,ElemTypea[],ElemTypen)//建立序次表2
{
inti;
L=(SqList*)malloc(sizeof(SqList));
for(i=0;in;i++)
L-data[i]=a[i];
L-length=n;
}
boolListEmpty(SqList*L)//判断序次表可否为空表
{
return(L-length==0);
}
intListLength(SqList*L)//求序次表长度
{
return(L-length);
}
voidDispList(SqList*L)//输出序次表
{
inti;
for(i=0;iL-length;i++)
printf(%3d,L-data[i]);
printf(\n);
}
boolGetElem(SqList*L,ElemTypei,ElemTypee)//求序次表中某个元素值
{
if(i1||iL-length)
returnfalse;
e=L-data[i-1];
returntrue;
}
intLocateElem(SqList*L,ElemTypee)//依据元素值查找
{
inti=0;
while(iL-lengthL-data[i]!=e)
i++;
if(iL-length)
return0;
else
returni+1;
}
boolListInsert(SqList*L,ElemTypei,ElemTypee)//插入元素e
{
intj;
if(i1||iL-length+1)
returnfalse;
i--;
for(j=L-length;ji;j--)
L-data[j]=L-data[j-1];
L-data[i]=e;
L-length++;
returntr
原创力文档


文档评论(0)