- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
《数据结构(第三版)》耿国华等编高等教育出版社
本书中的算法实现模板(C语言)
数据结构的学习既有很强的理论性还有较强的实践性。书中算法描述采用的
都是标准C函数。当需要在计算机上完整地实现算法时,必须设计构造一个完整
的可以执行的源程序。
下面给出单文件算法实现模板和多文件算法实现模板。
[程序实例]:将元素非递减的顺序表LA和LB,合并为LC,要求合并后的LC
仍为非递减。
模板一:单文件结构模板
考虑到初学者对多文件结构不熟悉,首选给出一个单文件结构的算法实现模
板。
#includestdio.h/*包含C库头文件*/
#includestdlib.h
#defineMAXSIZE100/*必要的宏定义*/
#defineOK1
#defineERROR0
typedefintElemType;//假设顺序表中的数据元素是整型
typedefstruct{
ElemTypeelem[MAXSIZE];
intlast;
}SeqList;
/*函数声明*/
voidInitList(SeqList*L);
intInsList(SeqList*L,inti,ElemTypee);
voidInputList(SeqList*L);
voidOutputList(SeqListL);
voidmerge(SeqList*LA,SeqList*LB,SeqList*LC);
《数据结构(第三版)》耿国华等编高等教育出版社
intmain()
{
SeqListL1,L2,L3;/*定义三个顺序表*/
InitList(L1);/*分别予以初始化*/
InitList(L2);
InitList(L3);
printf(\nL1:按非递减顺序输入若干元素,空格分开,数目=50,以-100结
束\n);
InputList(L1);
printf(\nL2:按非递减顺序输入若干元素,空格分开,数目=50,以-100结
束\n);
InputList(L2);
merge(L1,L2,L3);
printf(\n顺序表L1和L2合并后的结果为:\n);
OutputList(L3);
return0;
}
/*初始化顺序表*/
voidInitList(SeqList*L)
{
L-last=-1;
}
/*在顺序表L中第i个数据元素之前插入一个元素e。插入前表长n=L-last+1,
i的合法取值范围是1≤i≤L-last+2*/
intInsList(SeqList*L,inti,ElemTypee)
{
intk;
if((i1)||(iL-last+2))/*首先判断插入位置是否合法*/
{
《数据结构(第三版)》耿国华等编高等教育出版社
printf(插入位置i值不合法);
return(ERROR);
}
if(L-last=MAXSIZE-1)
{
printf(表已满无法插入);
return(ERROR);
}
for(k=L-last;k=i-1;k--)/*为插入元素而移动位置*/
L-elem[k+1]=L-elem[k];
L-elem[i-1]=e;/*在C语言数组中,第i个元素的下标为i-1*/
L-last++;
return(OK);
}
/*为顺序表赋值*/
voidInputList(SeqList*L)
{
ElemTyped;
scanf(%d,d);
while(d!=-100)
{
InsList(L,L-last+2,d);/*调用插入操作,将新输入的元素放入顺序表
的末尾*/
s
您可能关注的文档
- 数据库技术及应用——ACCESS (4版)第二章.pptx
- 数据库技术及应用——ACCESS (4版)第六章.pptx
- 数据库技术及应用——ACCESS (4版)第七章.pptx
- 数据库技术及应用——ACCESS (4版)第三章.pptx
- 数据库技术及应用——ACCESS (4版)第十三章.pptx
- 数据库技术及应用——ACCESS (4版)第十一章.pptx
- 数据库技术及应用——ACCESS (4版)第十章.pptx
- 数据库技术及应用——ACCESS (4版)第四章.pptx
- 数据库技术及应用——ACCESS (4版)第五章.pptx
- 数据库技术及应用——ACCESS (4版)第一章.pptx
文档评论(0)