当前位置: 代码迷 >> C语言 >> 再讨论一下链表的空间的 free
  详细解决方案

再讨论一下链表的空间的 free

热度:907   发布时间:2006-05-18 21:25:00.0
有些理论的东西,


先搞明白了再去写代码的话就简单了.

动不动就去写代码,这样的学习方法我是不会用的
----------------解决方案--------------------------------------------------------
以下是引用gaga在2006-5-18 17:01:00的发言:
比如有两个升序的链表
La,Lb
现要让他们合为一个Lc,
但Lc要用La的头结点,也就是不能自己再开避新的空间;
La与Lb中有相同的数的话,
到最后就是零碎的了

开始判断时如果有相同的,free()一个,再纳入Lc
否则直接纳入Lc,最后free整个链表Lc


----------------解决方案--------------------------------------------------------
以下是引用gaga在2006-5-18 16:48:00的发言:

链表free要一个个的free,当一个表是连续的时候,
还可以用个while循环去释放
但当一个表不是连的时候怎么去free啊
好好麻烦啊
比如两个升序链表按序合并的时候,不开空间的话合并后你怎么free所有的
没有用的空间呢

如果说

LC = (LA += LB)

那么,对LA进行插入操作,对LB进行删除操作,这样就可以保证LA表和LB表都是连续的,这样就可以while释放LB表中的重复节点了


----------------解决方案--------------------------------------------------------
刚连了会CS,

过来看看.
受益非浅
虽然楼上的误会我的意思了.

谢谢各位了.

----------------解决方案--------------------------------------------------------
55555
----------------解决方案--------------------------------------------------------