当前位置: 代码迷 >> C语言 >> 链表排序求教!
  详细解决方案

链表排序求教!

热度:213   发布时间:2006-12-19 19:56:36.0
链表排序求教!
请问各位高人

单链表如何交换两个结点??? (不是交换结点的信息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;
}


----------------解决方案--------------------------------------------------------
把反映的代码问题写在旁边撒!
怎么总是一些没有注释的啊!
----------------解决方案--------------------------------------------------------
  相关解决方案