C语言链表如何实现冒泡排序?

2025-04-05 04:02:21
推荐回答(1个)
回答1:

两种
思路:
1、交换链表中各节点的数据,不交换节点;
2、交换节点,即节点link指针的内容。
下面以第一种思路为例:
void
sort(LinkList
*L)
{
int
i,j,t;
LinkList
*p
=
L;
int
count
=
0;
while(p->link
!=
NULL)
{
count++;
p
=
p->link;
}
for(i=0;i/*
冒泡法排序
*/
{
p
=
L;
for(j=0;j{
if(p->data
>
p->link->data)
{
t=p->data;
p->data
=
p->link->data;
p->link->data=t;
}
p
=
p->link;
}
}
}