c语言实现顺序表的基本操作

c语言实现顺序表的基本操作

ID:15158762

大小:40.50 KB

页数:13页

时间:2018-08-01

c语言实现顺序表的基本操作_第1页
c语言实现顺序表的基本操作_第2页
c语言实现顺序表的基本操作_第3页
c语言实现顺序表的基本操作_第4页
c语言实现顺序表的基本操作_第5页
资源描述:

《c语言实现顺序表的基本操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言实现顺序表的基本操作C语言实现顺序表的基本操作2009-09-1911:42:39

2、分类:C语言实现数据结

3、字号订阅头文件Sqlist1.h#include#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineOVERFLOW0#defineLIST_INIT_SIZE10//线性表存储空间的初始分配量#defineLISTINCREMENT2//线性表存储空间的分配增量typedefintStatus;typedefintE

4、lemType;typedefstructSqlist{ElemType*elem;//存储空间基址intlength;//当前长度intlistsize;//当前分配的存储容量}Sqlist;//常用函数voidInitList(Sqlist&L);//初始化线性表StatusListInsert(Sqlist&L,inti,ElemTypee);//向线性表中插入元素voidListTraverse(SqlistL,void(*visit)(ElemType&));//遍历L中的元素,并输出voidprint1(ElemType&e);//输出元素StatusListEm

5、pty(SqlistL);//判断表是否为空表voidClearList(Sqlist&L);//将表重置为空表intListLength(SqlistL);//返回L中元素的个数StatusGetElem(SqlistL,inti,ElemType&e);//用e返回L中第i个元素的值intLocateElem(SqlistL,ElemTypee,Status(*compare)(ElemType,ElemType));//返回L中第1个与e满足关系compare()数据关系的位序,如果这样的数据不存在刚返回值为了0Statusequal(ElemTypec1,ElemTy

6、pec2);//判断是否相等的函数StatusPriorElem(SqlistL,ElemTypecur_e,ElemType&pre_e);//若cur_e是L的数据元素,而且不是第一个,就用pre_e返回它的前驱SStatusNextElem(SqlistL,ElemTypecur_e,ElemType&next_e);//若cur_e是L的数据元素,而且不是最后一个,就用next_e返回它的后继StatusListDelete(Sqlist&L,inti,ElemType&e);//删除L的第i个元素,并用e返回其值,L的长度减1voidMergeList(Sqlist

7、La,SqlistLb,Sqlist&Lc);//归并la和lb得到新的顺序表lc,lc的元素也是按值非递减排列的voidInferList(SqlistLa,SqlistLb,Sqlist&Lc);voidDifferList(SqlistLa,SqlistLb,Sqlist&Lc);//实现两个集合的差集////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

8、////////////////////////////////函数文件function1.cpp#include"Sqlist1.h"#includevoidInitList(Sqlist&L)//构造一个空的顺序线性表L{L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)//存储分配失败exit(OVERFLOW);L.length=0;//空表长度为了0L.listsize=LIST_INIT_SIZE;//初始存储量}StatusListInsert(Sqlist

9、&L,inti,ElemTypee)//在L的第i个位置上插入新的数据元素e,L的长度加1{ElemType*newbase,*p,*q;if(i<1

10、

11、i>L.length+1)returnERROR;//i不合法if(L.length==L.listsize)//当前存储空间已满,增加分配{newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)//存储分配失败exit(OV

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

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

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