以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 计算机考研交流 』   (http://bbs.xml.org.cn/list.asp?boardid=67)
----  [讨论]DS第七章课后题31题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=67&rootid=&id=53629)


--  作者:樱之蝶舞
--  发布时间:10/11/2007 10:48:00 AM

--  [讨论]DS第七章课后题31题
DS第七章课后题31题
     参考资料上给的解答有些问题吧?如果出现了要归并的两个链表中有连续比另一个大或者小的序列,归并的结果是不对的啊.个人以为还需要对归并的链表保存前驱,以达到正确连接(我试过,保存前驱后,连接正确)
     
     大家有什么看法没?  会不会是我理解错误?
--  作者:断歌
--  发布时间:10/12/2007 2:04:00 AM

--  
答案的归并似乎没有问题,当p2所指小于p1所指,就把p2放到p1前面,并且p2后退一个;直到p2所指比p1大,就p1后退一个直到在p1所指再次大于p2所指。(同时考虑了某个链表为空的情况)
    至于前驱,也觉得不需要,最后都将归并成一个链表   
    
    说的不对,请指教
--  作者:樱之蝶舞
--  发布时间:10/14/2007 2:47:00 PM

--  
还有没有别的意见呢?
--  作者:樱之蝶舞
--  发布时间:10/19/2007 6:03:00 PM

--  
我给出两个走不对的例子(按我的理解)
    1.序列1 3 2 5 6
    2.tp1:1 4
       tp2:2 3 5
   其实感觉只要理解思想就成了,所以可能也没必要吧,只是我觉得走的不对,怕是自己的问题
--  作者:蝶影
--  发布时间:10/19/2007 9:37:00 PM

--  
以下是引用樱之蝶舞在2007-10-19 18:03:00的发言:
我给出两个走不对的例子(按我的理解)
     1.序列1 3 2 5 6
     2.tp1:1 4
        tp2:2 3 5
    其实感觉只要理解思想就成了,所以可能也没必要吧,只是我觉得走的不对,怕是自己的问题


  是13256,还是13254?究竟是怎样的序列?...
--  作者:蝶影
--  发布时间:10/21/2007 10:23:00 PM

--  
我写程序实现过了
的确是有问题,第一个例子走不对,最后排序结果是1256,没3...
而且是得保存前驱...
而且还有一个小问题,就是拆成单个结点入队的那个循环,把for循环里的p1=p1->next删掉,因为循环体里的语句就有往下一个结点的功能
--  作者:okdavinci
--  发布时间:10/22/2007 7:09:00 PM

--  
应该要保存p1的前驱p1_prev。否则如果p1前面如果有元素,p2指向节点就会没有前驱
--  作者:樱之蝶舞
--  发布时间:10/23/2007 4:19:00 PM

--  
恩 这样就好,不是我理解错误就好。多谢大家了!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
1,965.088ms