以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  如果要交换一个单链表中任意两个元素的位置,应该怎么做?双链表呢?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=17163)


--  作者:newalan
--  发布时间:4/19/2005 10:24:00 AM

--  如果要交换一个单链表中任意两个元素的位置,应该怎么做?双链表呢?
是用中间变量好些呢还是修改指针好些。修改指针好像很麻烦,而且在实际操作中我发现在修改指针的过程中有两个步骤是矛盾的。所以还必须新建一个指针变量来存放其中一个指针,避免在修改时造成指针丢失而出错。中间变量法只是在链表中插入一个元素,用它当中间变量而实现元素的置换。使用完毕后删除即可,但据说这种方法在实际应用中会占用大量的内存,因为我只用伪码写了个算法描述,并没有写出具体的程序源码,所以为其是否会占用大量内存还不了解。请高人赐教。


--  作者:asadafag
--  发布时间:4/22/2005 3:07:00 PM

--  
看什么问题了
如果data大,可以考虑只交换指向data的指针。这样就不至于占用大量内存……


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
39.063ms