排序演算法演示

2021-09-01 09:39:18 字數 568 閱讀 8212

下面是排序演算法演示程式,比較直觀顯示排序演算法執行規律

[flash=200,200]

有關裡面三種排序演算法說明如下:

1.插入排序

首先新建乙個空列表,用於儲存已排序的有序數列(我們稱之為"有序列表")。

從原數列中取出乙個數,將其插入"有序列表"中,使其仍舊保持有序狀態。

重複2號步驟,直至原數列為空。

插入排序的平均時間複雜度為平方級的,效率不高,但是容易實現。它借助了"逐步擴大成果"的思想,使有序列表的長度逐漸增加,直至其長度等於原列表的長度。

2.氣泡排序

首先將所有待排序的數字放入工作列表中。

重複2號步驟,直至再也不能交換。

氣泡排序的平均時間複雜度與插入排序相同,也是平方級的,但也是非常容易實現的演算法。

3.選擇排序

設陣列內存放了n個待排數字,陣列下標從1開始,到n結束。

i=1從陣列的第i個元素開始到第n個元素,尋找最小的元素。

將上一步找到的最小元素和第i位元素交換。

如果i=n-1演算法結束,否則回到第3步

選擇排序的平均時間複雜度也是o(n^2)的。

基礎排序演算法演示

滿腦子都是階段 狀態 決策 學無止境呀 發一點基本的排序演算法,分成很多個檔案寫的,每個檔案前面帶了注釋,一起發出來,結構如下 基礎排序演算法檔案結構 sort.h 標頭檔案 main.c 主演示程式 printkeys.c 資料輸出 ifcontinue.c 演示控制 random.c 隨機初始化...

演算法 氣泡排序演示

排序原理 1 比較相鄰的元素。如果前乙個元素比後乙個元素大,就交換這兩個元素的位置 2 對每一對相鄰元素做同樣的工作,從開始第一對元素到結尾的最後一對元素。最終最後位置的元素就是最大值。public class bubblesort 交換兩個位置的元素 private static void exe...

演算法 希爾排序演示

希爾排序是針對插入排序的改良版。排序原理 1 選定乙個增長量h,按照增長量h作為資料分組的依據,對資料進行分組 2 對分好組的每一組資料完成插入排序 3 減少增長量,最小減為1,重複第二步操作 希爾排序 public class shellsort while h 1 else h h 2 判斷兩個...