链表排序_想换个方法
程序代码:typedef struct data DATA_base;
DATA_base * list_sort( DATA_base *head ) //排序
{
DATA_base *p, *p1, *p2, *temp;
int i = 1;
temp = ( DATA_base * ) malloc( sizeof(DATA_base) );
temp->next = head;
while( i )
{
i = 0;
p = temp;
p1 = p->next;
for( p2 = p1->next; p2 != NULL; p2 = p2->next)
if( p2->num < p1->num )
{
p1->next = p2->next;
p->next = p2;
p2->next = p1;
p = p2;
i++;
}
else
{
p = p->next;
p1 = p1->next;
}
}
head = temp->next;
return head;
}感觉自己这程序 有隐患。我想换个方法。
想半天 有点
哪个大侠帮下。 顺便问下,这样的程序有返回值好些,还是没返回值好。..
[ 本帖最后由 qwermy 于 2012-2-24 23:39 编辑 ]









