读书人

大白菜有关问题之 链表连接

发布时间: 2012-04-10 21:03:56 作者: rapoo

大白菜问题之 链表连接
各位大侠好:
我想问下,连接两个链表(带头结点)ptr1,ptr2时候,
Lnode *concatenate(Lnode *pointer1,Lnode *pointer2)//连接
{
Lnode *tmp;
tmp = pointer1;
while(tmp ->next)
tmp = tmp ->next;
tmp ->next = pointer2 ->next;
free(pointer2);//此处如果没有free ,为什么打印的时候,会把ptr2的一个值打印出来啊???明明已经跳过ptr2的头结点啦
return pointer1;
}


谢谢啦,问题为红字.
PS:小弟分少,请见谅!

[解决办法]
代码太少了,不是这的原因吧
[解决办法]
如何释放一张链表?
[解决办法]
tem=tem->next,现在tem是哪个节点?
[解决办法]
tem->next=pointer2->next; 那这个语句有什么作用,两边本来就相等。
[解决办法]
free掉的是第二个链表的头结点 (第一个元素是存在头结点后一个结点里的)

读书人网 >C语言

热点推荐