第2章线性表习题解答

第2章线性表习题解答

ID:23158989

大小:29.40 KB

页数:12页

时间:2018-11-05

第2章线性表习题解答_第1页
第2章线性表习题解答_第2页
第2章线性表习题解答_第3页
第2章线性表习题解答_第4页
第2章线性表习题解答_第5页
资源描述:

《第2章线性表习题解答》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第2章习题1第2章习题2.1若将顺序表中记录其长度的分量listlen改为指向最后一个元素的位置last,在实现各基本运算时需要做那些修改?【解】//用线性表最后一个元素的下标last代替listLen实现顺序表#defineMAXLEN100typedefintelementType;typedefstructsllLast{elementTypedata[MAXLEN];intlast;}seqList;//初始化voidinitialList(seqList&S){S.last=-1;}//求表长度intlistLength

2、(seqListS){returnS.last+1;}//按序号取元素boolgetElement(seqListS,inti,elementType&x){if(i<1

3、

4、i>S.last+1)//i为元素编号,有效范围在1--S.last+1之间returnfalse;else{x=S.data[i-1];returntrue;}12}//查找元素x,成功:返回元素编号;失败:返回0intlistLocate(seqListS,elementTypex){inti;for(i=0;i<=S.last;i++){if(S.dat

5、a[i]==x)returni+1;//找到,转换为元素编号输出}return0;}//插入元素intlistInsert(seqList&S,elementTypex,inti){intk;if(S.last>MAXLEN-1)return0;//表满,返回0elseif(i<1

6、

7、i>S.last+2)return1;//插入位置查处范围,返回1else{for(k=S.last;k>=i-1;k--)S.data[k+1]=S.data[k];S.data[i-1]=x;S.last++;return2;}}//删除元素in

8、tlistDelete(seqList&S,inti){intk;if(S.last==-1)return0;//空表,返回0elseif(i<1

9、

10、i>S.last+1)return1;//删除元素编号超出范围,返回1else12{for(k=i;k<=S.last;k++)S.data[k-1]=S.data[k];S.last--;return2;}}//7.打印表中所有元素voidprintList(seqListL){inti;for(i=0;i<=L.last;i++)cout<

11、素之间以制表符分割cout<=0){cout<<"顺序表已经存在,请先初始化,再输入元素。"<>x;while(x!=-9999){L.last++;L.data[L.last]=x;cout<<"x=";cin>>x;}}12//随机数创建顺序表void

12、rndCList(seqList&L){inti;intn,m;L.last=-1;cout<<"请输入要产生的随机数个数,n=";cin>>n;if(n>MAXLEN-1){cout<<"您要求产生的随机数个数超出了查找表长度"<>m;srand((unsigned)time(NULL));//产生随机数种子//srand((unsigned)GetTickCount(

13、));//产生随机数种子for(i=0;i

14、顺序表表示集合,并确定合适的约定,在此基础上编写算法以实现集合的交、并、差等运算,并分析各算法的时间性能。【解】//求C=A∩B12依次读取A的元素,检查次元素是否在B中,若在B中,则为交集元素,插入C中。voidinterSet(seqListA

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

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

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