实训1顺序表的实现和应用

实训1顺序表的实现和应用

ID:34463071

大小:108.00 KB

页数:3页

时间:2019-03-06

实训1顺序表的实现和应用_第1页
实训1顺序表的实现和应用_第2页
实训1顺序表的实现和应用_第3页
资源描述:

《实训1顺序表的实现和应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实训1顺序表的实现和应用实训目的:1.熟悉线性表的定义和基本操作;2.掌握线性表的顺序存储结构设计与基本操作的实现。实训内容与要求:1.定义线性表的顺序存储表示;2.基于所设计的存储结构实现线性表的基本操作;3.编写一个主程序对所实现的线性表进行测试;实训题目:使用菜单方式实现顺序表的各种操作,包括创建、插入、删除、显示。算法设计:#include#defineOK1#defineERROR0typedefintElemType;#defineMAXSIZE100#defineINC

2、REMENT10typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;staticSqListL;staticinte;intInitList_Sq(SqList*L){//创建顺序表inti,length,e;cout<<"输入顺序表的长度:";cin>>length;L->elem=newElemType[MAXSIZE];if(!L->elem)returnERROR;cout<<"输入”<

3、for(i=0;i>e;L->elem[i]=e;}L->length=length;L->listsize=MAXSIZE;returnOK;}voidListTraverse(SqList*L){//显示顺序表inti;cout<<"当前表为:";for(i=0;ilength;i++)cout<elem[i]<<”“;cout<

4、

5、

6、m>L->length+1)returnERROR;if(L->length>L->listsize){ElemType*newbase;newbase=newElemType[L->listsize+INCREMENT];if(!newbase)returnERROR;L->elem=newbase;L->listsize+=INCREMENT;}ElemType*p,*q;q=&(L->elem[m-1]);for(p=&(L->elem[L->length-1]);p>=q;p--)*(p+1)=

7、*p;*q=e;L->length++;returnOK;}intListDelete_Sq(SqList*L,intm){//在顺序表中删除元素if(m<1

8、

9、m>L->length)returnERROR;ElemType*p;p=&(L->elem[m-1]);for(;mlength;m++)L->elem[m-1]=L->elem[m];L->length--;returnOK;}intmain(){//主函数inti,n,m;if(InitList_Sq(&L)==ERROR){cout

10、<<"创建失败";returnERROR;}ListTraverse(&L);cout<<"输入要插入元素的个数:";cin>>n;cout<<"输入要插入的元素及插入的位置,以空格隔开:";for(i=0;i>e>>m;if(!ListInsert_Sq(&L,e,m))cout<<"插入失败";ListTraverse(&L);}cout<<"输入要删除的元素个数:";cin>>n;for(i=0;i

11、”个元素所在的位置:";cin>>m;if(!ListDelete_Sq(&L,m))cout<<"删除失败";ListTraverse(&L);}return0;}实训结果:

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

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

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