数据结构线性顺序表的C语言实现.pdf

数据结构线性顺序表的C语言实现.pdf

ID:50221812

大小:245.13 KB

页数:9页

时间:2020-03-12

数据结构线性顺序表的C语言实现.pdf_第1页
数据结构线性顺序表的C语言实现.pdf_第2页
数据结构线性顺序表的C语言实现.pdf_第3页
数据结构线性顺序表的C语言实现.pdf_第4页
数据结构线性顺序表的C语言实现.pdf_第5页
资源描述:

《数据结构线性顺序表的C语言实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构线性顺序表的C语言实现说明:线性表是一种最简单的线性结构,也是最基本的一种线性结构,所以他不仅是学习中的重点,也是应用开发非常常用的一种数据结构。它的主要操作是数据元素的插入,删除,以及排序等。接下来,本篇文章将对线性顺序表的基本操作和运用进行详细的说明(包含在源代码的注释中),并给予可运行的程序源代码。线性顺序表运用时和数组十分相似,不同之处是顺序表是一种构造类型的数据结构,而数组则是一种基本的数据类型,所以在顺序表的各种操作中与对数组的操作十分相似,将两者作对比着有助于对顺序表的理解与学习。程序分析:由于抱着是程序执行起来时操作尽量简单化,使人一看就能明

2、白,所以本程序是用了不少的提示性语句。主函数的结构是while循环和switch函数相结合的方法,使每种能够用到的基本操作尽量明白的显示在主显示函数中,这样能使每种基本操作的作用效果更加突出明了。这样不仅能使程序的模块化尽量明显,也可以让源代码的可读性增强。而且程序运用了CLS清屏函数,可以使每一次操作的输入输出结果更加清晰。源代码:#include#include#defineLIST_INIT_SIZE10//线性顺序表初始动态分配内存大小#defineLISTINCREMENT2//线性表扩容一次性增量#defineOK1

3、#defineERROW-1#defineOVERFLOW-2typedefintElemType;//线性表的数据类型typedefintStatus;//状态数据类型/***定义线性顺序表数据结构***/typedefstruct{ElemType*elem;//定义线性表内数据元素的数据类型intLength;//表当前长度intlistsize;//表当前空间容量大小}Sqlist;//表名/***初始化一个空表,即创建一个空表***/StatusInitList(Sqlist&L){L.elem=(ElemType*)malloc(LIST_INIT_SI

4、ZE*sizeof(ElemType));//内存动态分配if(!L.elem)//对内存分配的结果判断exit(OVERFLOW);L.Length=0;//对表长初始化归0returnOK;}/***清空表***/voidClearlist(Sqlist&L){if(L.Length!=0)L.Length=0;//由于顺序表的用得是与数组一样的内存空间,所以标的清空//只要将表长归零即可,由此可见,表长是线性表非常重要的部分}/***取表长***/intGetLength(SqlistL){if(L.Length!=0)returnL.Length;}/***

5、判断表空否***/intIsEmpty(SqlistL){if(L.Length==0)return1;elsereturn0;}/***销毁表***/voidDestoryList(Sqlist&L){if(L.elem!=0)free(L.elem);//将顺序表所需空间释放,不同于清空}/***取定位元素值***/StatusGetElem(SqlistL,inti,ElemType&e){if(i<1

6、

7、i>L.Length)returnERROW;e=L.elem[i-1];returnOK;}/***定位元素位置***/StatusLocateElem(

8、SqlistL,int&i,ElemTypee){for(i=1;i-1

9、");returnOK;}/***输出表中元素***/voidPrintList(SqlistL){inti;printf("表中元素为:");for(i=0;i

10、

11、i>L.Length+1)returnERROW;if(L.Length==LIST_INIT_SIZE)L.elem=(ElemTy

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。