云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构第二章参考答案

数据结构第二章参考答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 19:38:35

3.size:195 4.size:100 (3)程序段三

int a[]={1,2,3,4,5}; list ilist(3,2); ilist.assign(a,a+5);

//1 2 3 4 7

ilist.pop_back (); //1 2 3 4 ilist.insert (ilist.end(),7); ilist.pop_front (); //2 3 4 7 ilist.front ()=20; //20 3 4 7 ilist.sort(); //3 4 7 20

for ( list::iterator it = ilist.begin (); it != ilist.end(); it++ )

cout << *it <<\; cout << endl;

答案:3 4 7 20

5.算法设计

(1)分别编程实现顺序表类和链表类,并设计完整的测试程序对每个接口进行测试。 (2)设A=(a1,a2,a3,......an)和B=(b1,b2,.. .,bm)是两个线性表(假定所含数据元素均为整数)。若n=m且ai=bi(i=1,.. .,n),则称A=B;若ai=bi(i=1,.. .,j)且aj+1B。试编写一个比较A和B的算法,当AB是分别输出-1,0或者1。

(3)假设有两个按数据元素值递增有序排列的线性表A和B,均以单链表作存储结构。编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许值相同)排列的线性表C,并要求利用原表(即A表和B表的)结点空间存放表C。

(4)试分别以顺序表和单链表作为存储结构,各写一个实现线性表的就地(即使用尽可能少的附加空间)逆置的算法,在原表的存储空间内将线性表(a1,a2,,??,an-1,an)逆置为(an,an-1,??,a2,a1)。

(5)假设在长度大于1的循环链表中,既无头结点也无头指针。s为指向链表中某个结点的指针,试编写算法删除结点*s的直接前趋结点。 答案:

template

void DeletePreNode (Node * s) {

Node * p = s;

//得到s的结点的前一个结点的前一个结点 while (p->next->next != s) p=p->next; //删除p->next指向的结点 Node * q = p->next; p->next = s; delete q; }

(6)已知一单链表中的数据元素含有三类字符(即:字

5

母字符、数字字符和其它字符)。试编写算法,构造三个

n1循环链表,使每个循环链表中只含同一类的字符,且利2n-1用原表中的结点空间作为这三个表的结点空间(头结点可3n-2另辟空间)。

(7)Josephus环问题:任给正整数n、k,按下述方法可得排列1,2,??,n的一个置换:将数字1,2,??,n环形排列(如图2-36所示),按顺时针方向从1开始计数,计满k时输出该位置上的数字(并从环中删去该数图2-36 Josephus环 字),然后从下一个数字开始继续计数,直到环中所有数

字均被输出为止。例如,n=10,k=3时,输出的置换是3,6,9,2,7,1,8,5,10,4。试编写一算法,对输入的任意正整数n、k,输出相应的置换数字序列。

6

7

搜索更多关于: 数据结构第二章参考答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3.size:195 4.size:100 (3)程序段三 int a[]={1,2,3,4,5}; list ilist(3,2); ilist.assign(a,a+5); //1 2 3 4 7 ilist.pop_back (); //1 2 3 4 ilist.insert (ilist.end(),7); ilist.pop_front (); //2 3 4 7 ilist.front ()=20; //20 3 4 7 ilist.sort(); //3 4 7 20 for ( list::iterator it = ilist.begin (); it != ilist.end(); it++ )

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com