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

Posted William_Goodman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表习题-有一个带头结点的单链表,编写算法使其元素递增有序相关的知识,希望对你有一定的参考价值。

 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 }

 

以上是关于链表习题-有一个带头结点的单链表,编写算法使其元素递增有序的主要内容,如果未能解决你的问题,请参考以下文章

算法习题---线性表之单链表的查找

数据结构-链表链表的相关算法

什么叫带头结点的链表? 什么叫不带头结点的链表?

数据结构算法设计题

经典算法学习——非循环双向链表实现冒泡排序(不带头结点)

试写出在不带头结点的单链表的第i个元素之前插入一个元素的算法 麻烦帮我修改下