单链表排序是指对单链表中的节点进行排序,使得节点中的数据按照某种次序排列。C语言中,可以使用插入排序算法对单链表进行排序。
插入排序算法是一种简单的排序算法,它的基本思想是:将链表中的第一个节点看作一个有序的子链表,从第二个节点开始,依次将当前节点插入到有序子链表中,使得插入之后仍然有序。
struct node { int data; struct node *next; }; // 单链表排序 void sort_list(struct node *head) { struct node *p, *q, *r; if (head == NULL || head->next == NULL) { return; } p = head->next; head->next = NULL; while (p != NULL) { r = p; p = p->next; q = head; while (q != NULL && q->data < r->data) { q = q->next; } r->next = q->next; q->next = r; } }
本文链接:http://task.lmcjl.com/news/6134.html