链表排序求教!
请问各位高人单链表如何交换两个结点??? (不是交换结点的信息data)
搞了半天,就是不完全,怎样考虑的周到点?
搜索更多相关的解决方案:
链表
----------------解决方案--------------------------------------------------------
媒人给指定一下吗?
----------------解决方案--------------------------------------------------------
先把两个节点摘下来再插入可不可以呢
----------------解决方案--------------------------------------------------------
我也是这样写的,好麻烦的.有没有好的方法?
我想问一下怎样考虑周全,几种特殊情况应该如何处理?
----------------解决方案--------------------------------------------------------
为什么要交换位置??我晕。。可以交换数据就用就好
计算机内存你管他放哪。。那对程序员是透明的
----------------解决方案--------------------------------------------------------
~看下算法.
假设data是一个复杂的结构呢?
----------------解决方案--------------------------------------------------------
利用一个单独的空接点 把地址互换下就好
----------------解决方案--------------------------------------------------------
请教一下,怎么完善啊?
LinkList p = *L,q = p->next,r = NULL,s = NULL;
if(q->next == NULL) {return (1);}
while(q != NULL && q->data < 0) {p = p->next; q = p->next;}
r = q;
s = r->next;
while(s != NULL)
{
if(s->data < 0)
{
p->next = q->next;
r->next = s->next;
s->next = p->next;
p->next = s;
q->next = r->next;
r->next = q;
p = p->next;
q = p->next;
}
r = r->next;
s = r->next;
}
----------------解决方案--------------------------------------------------------
把反映的代码问题写在旁边撒!
怎么总是一些没有注释的啊!
----------------解决方案--------------------------------------------------------