线性表的完整程序数据结构c语言版

线性表的完整程序数据结构c语言版

ID:10941853

大小:38.00 KB

页数:5页

时间:2018-07-09

线性表的完整程序数据结构c语言版_第1页
线性表的完整程序数据结构c语言版_第2页
线性表的完整程序数据结构c语言版_第3页
线性表的完整程序数据结构c语言版_第4页
线性表的完整程序数据结构c语言版_第5页
资源描述:

《线性表的完整程序数据结构c语言版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*~~~~~~~~~~~~~~~~~~顺序表存储结构及常见操作(seqlist.c)~~~~~~~~~~~~~~~~*/#ifndef__SEQLIST__#define__SEQLIST__#include/*顺序表存储空间长度的最小值*/#defineLISTMINSIZE10/*顺序表存储结构类型定义*/typedefstruct{ListDT*base;/*顺序表空间基地址*/intlistsize;/*顺序表空间尺寸*/intlen;/*顺序表长度*/}SeqList;/*顺序表初始化*/voidListInitialize(SeqList*pL,i

2、ntsize){if(sizelistsize=size;pL->base=(ListDT*)malloc(pL->listsize*sizeof(ListDT));if(!pL->base)exit(EXIT_FAILURE);pL->len=0;/*初始化空表*/}/*按给定的下标取顺序表元素值*/BOOLListElem(SeqListL,intindex,ListDT*pelem){BOOLflg=TRUE;if(index<0

3、

4、index>L.len-1)flg=FALSE;

5、/*参数越界*/else*pelem=L.base[index];returnflg;}/*求顺序表长度*/intListLen(SeqListL){returnL.len;}/*在顺序表中指定序号位置插入元素*/BOOLListInsert(SeqList*pL,intpos,ListDTd){BOOLflg=TRUE;inti;if(pos<0

6、

7、pL->len>=pL->listsize

8、

9、pos>pL->len)flg=FALSE;else{for(i=pL->len-1;i>=pos;i--)/*移动数据*/pL->base[i+1]=pL->base[i];pL->ba

10、se[pos]=d;/*写入数据*/pL->len++;/*表长增1*/}returnflg;}/*把顺序表中指定序号的元素删除*/BOOLListDel(SeqList*pL,intpos){BOOLflg=TRUE;inti;if(pos<0

11、

12、pos>=pL->len)flg=FALSE;else{for(i=pos+1;ilen;i++)/*移动数据*/pL->base[i-1]=pL->base[i];pL->len--;/*表长增1*/}returnflg;}/*在顺序表中查找元素*/intListLoc(SeqListL,ListDTd,BOOL(*equa

13、l)(ListDT,ListDT)){intpos=L.len-1;while(pos>=0&&!(*equal)(L.base[pos],d))pos--;returnpos;}/*取前导元素序号位置*/BOOLListPrior(SeqListL,intpos,int*ppriorpos){BOOLflg=TRUE;if(pos>0&&pos

14、(pos>=0&&pos

15、i;ListDTx;printf("List:");for(i=0;i

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

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

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