執行的結果如下所示:
**如下所示:
#include
#include
/*單鏈表的正向排序*/
typedef struct node
node;
node *insertsort(void)
new = (struct node*)malloc(sizeof(struct node));
new->data = data; /*新分配乙個node節點*/
new->next = null;
if(head == null)
if(new->data <= head->data)
cur = head;
while(new->data > cur->data && cur->next != null) /*找到需要插入的位置*/
if(cur->data >= new->data) /*位置在中間*/
else /*位置在末尾*/
} return head; }
void print(node *head)
p = head;
while(p != null)
}void main()
單鏈表之排序單鏈表
package list public class sortedsinglylist extends singlylist 將values陣列中的所有物件按值大小插入 public sortedsinglylist t values 過載深拷貝,由單鏈表構建排序單鏈表 public sortedsi...
單鏈表的排序
這是前幾天hottey面試的乙個題目 不借助外部陣列,只對鍊錶本身進行操作來完成排序。我覺得甚有意思,便實現了乙個。程式 如下 include using namespace std template struct node 節點結構 template class slist 單鏈表結構 slist...
單鏈表的排序
歸併排序的一種比較快的排序,尤其在鍊錶中,在所有排序中是時間複雜度為nlog n 級別的有三種,分別為快速排序,堆排序和歸併排序,但是快速排序在單鏈表中沒有優勢 適合於雙向鍊錶 同樣堆排序在建堆和調整堆得過程對於單鏈表也是比較麻煩,這裡我們選取了歸併排序。歸併排序的概念和原理我就不介紹了,網上的相關...