你好 可以查看一下这篇文章https://blog.csdn.net/qq_45410446/article/details/129023670
供参考:
void sort(struct student* head)//带头结点链表冒泡排序
{
struct student* p = NULL, * q = NULL, * tail = NULL; //尾指针置空
if (!head || !head->next)
return;
while ((head->next) != tail)
{
p = head;
q = head->next;
while (q->next != tail)
{
if ((q->num) > (q->next->num))
{
p->next = q->next;
q->next = q->next->next;
p->next->next = q;
q = p->next;
}
q = q->next;
p = p->next;
}
tail = q;
}
}