免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2567 | 回复: 8
打印 上一主题 下一主题

如何将两个链表的元素交叉并归?(不能申请额外的空间) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-06 16:37 |只看该作者 |倒序浏览
头次在这里发帖,请这里的高手看看,有什么好点子?

有人说用那个“归并排序”?! 不大明白,谁能给出些代码瞧瞧?

论坛徽章:
0
2 [报告]
发表于 2005-01-06 16:38 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

或者用其它办法也行!有什么思路?

论坛徽章:
0
3 [报告]
发表于 2005-01-06 17:07 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

斑竹,高手到哪里去了??

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-01-06 17:11 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

老了,看不懂题目的意思了。

论坛徽章:
0
5 [报告]
发表于 2005-01-06 17:16 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

归并排序也要申请第三个list的空间,“不另外申请空间”的方法倘若有,偶拭目以待…………再说,链表又不支持随机访问,“排序”何为?

论坛徽章:
0
6 [报告]
发表于 2005-01-06 17:23 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

不是啊!原题不可能出错的,既然它想考你这个!
题目就是这么简单!
我想假如两个链表是有序的,归并,可以理解为把一个链表的元素向两外一个插入,当然插入的结果是有序的!是不是这样?

论坛徽章:
0
7 [报告]
发表于 2005-01-06 17:24 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

用C实现,不考虑C++!
有人能给出代码吗?
是否要用mergsort()?

论坛徽章:
0
8 [报告]
发表于 2005-01-06 17:43 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

不能申请其它的空间应该指的是还是用的原来链表的空间吧


  1. typedef type int;

  2. typedef struct List
  3. {
  4.          type data;
  5.          struct List *pNext;
  6. }List, *pList;
  7. /* 基本的思路是每个链表设置两个指针,一个存放当前结点,一个存放下一个结点,算法思路是把当前结点交替链接上 */
  8. void Merge_List(pList s1, pList s2)
  9. {
  10.          pList p1 = s1->;pNext, p2 = s2->;pNext;
  11.          assert(s1 && s2);

  12.          while (p1 && p2)
  13.          {
  14.                   s1->;pNext = s2;               
  15.                   s2->;pNext = p1;
  16.                   s1 = p1;
  17.                   p1 = p1->;pNext;
  18.                   s2 = p2;
  19.                   p2 = p2->;pNext;
  20.          }
  21.          /* 把剩余的结点接上 */
  22.          s1->;pNext = (p1) ? p1 : p2;

  23. }
  24.          
复制代码

论坛徽章:
0
9 [报告]
发表于 2005-01-06 18:40 |只看该作者

如何将两个链表的元素交叉并归?(不能申请额外的空间)

恩,多谢楼上的,我已经自己写了一个!测试通过了!
你的没测,估计也应该没问题!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP