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

当前位置:首页 > 数据结构(第二版)习题答案第3章

数据结构(第二版)习题答案第3章

  • 62 次阅读
  • 3 次下载
  • 2026/4/29 12:06:32

s->llink=r;

r->rlink=s;

r=s;

scanf(\

}

return head; }

/*输出双链表的容*/

void print(dlinklist head) { dlinklist p;

p=head->rlink;

printf(\双链表的容是:\\n\ while (p)

{ printf(\ p=p->rlink;

}

}

本题的求解程序如下: #include #include \

void insertxaty(dlinklist head,datatype y,datatype x) { dlinklist s,p;

/*首先在双链表中找 y 所在的结点,然后在 y 前面插入新结点*/ p=head->rlink;

while (p && p->data!=y) p=p->rlink;

if (!p) printf(\双链表中不存在值为 y 的结点,无法插入新结点!\\n\ else /*插入值为 x 的新结点*/ { s=(dlinklist)malloc(sizeof(dnode)); s->data=x; s->rlink=p;

s->llink=p->llink; p->llink->rlink=s; p->llink=s;

}

}

void main() /*测试函数*/

{ dlinklist head;

datatype x,y;

19

head=creatdlinklist(); print(head);

printf(\请输入要输入的位置结点值 y:\\n\ scanf(\

printf(\请输入要输入的结点值 x:\\n\ scanf(\

insertxaty(head,y,x);/*在值为 y 的结点前插入值为 x 的新结点*/ print(head);/*输出新的双链表*/ getch(); }

本程序的一组测试情况如下图所示。

3.10 设计一个算法,从右向左打印一个双链表中各个结点的值。 【答】:

本题的双链表定义同题 3.9,实现从右向左打印双链表的各个结点的值可以用递归程序实 现如下:

#include #include \

void vprint(dlinklist head)

{ /*递归方法从右向左打印双链表的值*/ if (head->rlink)

{vprint(head->rlink);

printf(\

}

}

void main() /*测试函数*/ { dlinklist head;

head=creatdlinklist(); print(head);

printf(\从右向左打印的双链表的容是:\\n\

20

vprint(head); getch(); }

本程序的一组测试情况如下图所示。

3.11 设计一个算法,将一个双链表改建成一个循环双链表。 【答】:

#include #include \

/*将一个双链表改成循环双链表*/ void dlinktocdlink(dlinklist head) { dlinklist r; r=head;

while (r->rlink) /*寻找尾结点*/ r=r->rlink;

head->llink=r; r->rlink=head; }

void printcdlink(dlinklist head) { /*打印双链表*/ dlinklist p; p=head->rlink; while (p!=head)

{printf(\ p=p->rlink;

}

}

int main() /*测试函数*/ { dlinklist head;

head=creatdlinklist(); dlinktocdlink(head);

printf(\循环双链表的容是:\\n\ printcdlink(head); }

21

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

共分享92篇相关文档

文档简介:

s->llink=r; r->rlink=s; r=s; scanf(\ } return head; } /*输出双链表的容*/ void print(dlinklist head) { dlinklist p; p=head->rlink; printf(\双链表的容是:\\n\ while (p) { printf(\ p=p->rlink; } <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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