链表习题(4)-有一个带头结点的单链表,编写算法使其元素递增有序

 1 /*有一个带头结点的单链表,编写算法使其元素递增有序*/
 2 /*
 3     算法思想:利用直接插入排序的思想,先构成只含有一个数据结点的有序单链表,然后依次插入
 4     剩余结点到合适的位置。
 5 */
 6 void Sort(LinkList& L)
 7 {
 8     LNode *p = L->next, *pre;
 9     LNode *r = p->next;
10     p->next = NULL;
11     while (p)
12     {
13         r = p->next;
14         pre = L;
15         while (pre->next&&pre->next->data<p->data)
16         {
17             pre = pre->next;
18         }
19         p->next = pre->next;
20         pre->next = p;
21         p = r;
22     }
23 }

猜你喜欢

转载自www.cnblogs.com/KBryant/p/11644997.html