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

给我 种简单 示例即 typedef struct node{ int data; struct node*link; }LNode,*LinkList;
2025-12-18 06:03:00
推荐回答(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;
}
}
}