数据结构c++顺序表

数据结构c++顺序表

ID:14350993

大小:41.50 KB

页数:13页

时间:2018-07-28

数据结构c++顺序表_第1页
数据结构c++顺序表_第2页
数据结构c++顺序表_第3页
数据结构c++顺序表_第4页
数据结构c++顺序表_第5页
资源描述:

《数据结构c++顺序表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构C++顺序表#include#include#include#includeusingnamespacestd;#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefintStatus;typedefstruct{int*elem;intlength;intlistsize;}SqLi

2、st;//线性表的顺序存储结构StatusInitList_Sq(SqList&L){//构造一个空的线性表Lsystem("cls");L.elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));if(!L.elem)//存储分配失败{cout<<"ttt存储分配失败!";system("pause");exit(OVERFLOW);}L.length=0;L.listsize=LIST_INIT_SIZE;cout<<"ttt成功构造线性表!";returnOK;}voidShowList_Sq(SqLi

3、stL){int*p=L.elem,i;if(L.length==0)cout<<"ttt线性表中无元素可显示";else{cout<<"ttt";for(i=1;i<=L.length;i++)cout<<*p++<<"";cout<

4、回TURE,否则返回FALSEif(L.length==0)returnTRUE;elsereturnFALSE;}intListLength_Sq(SqListL){//返回L中数据元素的个数returnL.length;}StatusGetElem_Sq(SqListL,inti,int&e){//用e返回L中第i个数据元素的值if(i<1

5、

6、i>ListLength_Sq(L))returnERROR;//i值不合法e=L.elem[i-1];returnOK;}Statuscompare(inta,intb){//两个元素的关系比较,若a=b,返回TURE,否则返回FALSEif

7、(a==b)returnTRUE;elsereturnFALSE;}intLocateElem_Sq(SqListL,inte,Status(*compare)(int,int)){//在顺序线性表L中查找第1个值与e满足compare()的元素的位序,若找到,返回位序,否则返0inti=1,*p=L.elem;while(i<=L.length&&!(*compare)(*p++,e))++i;if(i<=L.length)returni;elsereturn0;}StatusPriorElem_Sq(SqListL,intcur_e,int&pre_e){//若cur_e是L的数据元

8、素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义inti=1,*p=L.elem;*p++;while(i<=L.length&&!(compare(*p++,cur_e)))++i;if(i<=L.length){pre_e=*(p-2);returnOK;}elsereturnERROR;}StatusNextElem_Sq(SqListL,intcur_e,int&next_e){//若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义inti=1,*p=L.elem;while(i

9、&&!(compare(*p++,cur_e)))++i;if(i

10、

11、i>L.length+1)returnERROR;if(L.

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

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

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