|
![]() | 作者: mengxuehan [mengxuehan]
![]() |
登录 |
我是刚刚学习tc环境下编程的,有点地方不懂,请教一下 把两个 递增有序排列的线性表A和B ,均以单链表作为存储结构请编写算法,将A 和B归并成一个按元素值递减 有序排列的线性表C 并要求利用原表(即A和B的)结点空间存放表C 谢谢! 286改了标题,原标题为:请教。 [此贴被 286(unique) 在 12月12日09时02分 编辑过] |
地主 发表时间: 12/11 21:42 |
![]() | 回复: 286 [unique] ![]() |
登录 |
1 把一个递增有序排列的线性表A转变成一个按元素值递减有序排列的线性表A。 应该不难吧。依次从A的当前位置取元素,存到A的最前面。 2 把B中的元素插入到A中。 应该不难吧。依次插入。 3 当然,在作一的时候可以同时作2。只需要A,B当前元素作个比较,以决定先插入哪个。 |
B1层 发表时间: 12/12 09:19 |
![]() | 回复: spirn [spirn] ![]() |
登录 |
最简单的算法,从a/b中找到最大的元素(实际上是比较A/B的最后一个元素),拿出来作为C的第一个元素,找到次大的,作为C的第二个元素,如此类推,当A/B没有元素的时候,解完 [此贴被 spirn(spirn) 在 12月12日11时50分 编辑过] |
B2层 发表时间: 12/12 11:13 |
![]() | 回复: 286 [unique] ![]() |
登录 |
TO spirn: 你的方法理论上是可行的,但由于采用的是单链表而不是数组。所以效率会很低。 |
B3层 发表时间: 12/12 11:28 |
![]() | 回复: spirn [spirn] ![]() |
登录 |
呵呵,要快速就多用点空间,把a/b的指针分别压入2个栈,一个个弹出比较就可以 |
B4层 发表时间: 12/12 11:33 |
![]() | 回复: realpope [realpope] ![]() |
登录 |
这个没有必要在这里争论了 算法 只要是数据结构的书上就会有的 随便找本看看就可以了 |
B5层 发表时间: 12/12 12:12 |
![]() | 回复: lwei889 [lwei889] ![]() |
登录 |
编程序不能只讲究某一个方面,不然数据结构这门课再开就没有什么意思拉!赞同286的意见! |
B6层 发表时间: 12/12 12:40 |
![]() | 回复: mengxuehan [mengxuehan] ![]() |
登录 |
谢谢大家!我去试一下,多谢大家了呀! |
B7层 发表时间: 12/12 17:09 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号