選擇排序:
排序輪數:
元素個數-1
演算法邏輯:
每一輪獲取當前輪的第乙個元素,依次和其後的各個元素進行比較,按照排序規則進
行相應的元素值交換。每一輪排序完成,會找到當前輪的乙個最值儲存在第乙個元素中,下一輪比較
忽略該元素 例:
8 3 6 5 1
從小到大排序
* 第一輪:
1 8 6 5 3
* 第二輪
3 8 6 5
* 第三輪
5 8 6
* 第四輪
6 8
選擇排序寫法: //
外層迴圈控制排序輪數
for (int i = 0; i < array.length- 1; i++)
} 氣泡排序:
排序輪數
:元素個數-1
演算法邏輯:
每一輪從首元素開始依次比較相鄰的兩個元素,按照排序規則進行相應交換。每一輪
比較完成找出當前輪的最後乙個元素儲存乙個最值,下一輪比較忽略該元素 例:
1 5 6 8 4
從大到小排序
* 第一輪:
5 6 8 4 1
* 第二輪:
6 8 5 4
* 第三輪:
8 6 5
* 第四輪:
8 6
氣泡排序寫法: //
外層迴圈控制輪數
for (int i = 0; i < array.length- 1; i++)
} }
插入排序:
排序輪數:
元素個數-1
演算法邏輯:
插入排序是每一輪選定乙個值,然後來追蹤該值找到其在初始所在元素左側最合理的位置。第一輪找到第二個元素的值作為要追蹤的值,向左查詢最合理位置。以後各輪依次向後後移找到初始元素值,進行操作
15 6 8 9 14
從小到大排序
* 第一輪 *
6 15 8 9 14
起始下標:
1 追蹤的值:6
* 第二輪 *
6 8 15 9 14
起始下標:
2 追蹤的值:8
* 第三輪 *
6 8 9 15 14
起始下標:
3 追蹤的值:9
* 第四輪 *
6 8 9 14 15
起始下標:
4 追蹤的值:
14
插入排序寫法: //
外層迴圈控制輪數
for (int i = 0; i < array.length- 1; i++) } }
Java陣列中常見的排序演算法
今天在陣列中用到了排序演算法,經過查詢資料之後,在這總結三種常見的排序演算法。氣泡排序法 public void fun1 n個數要比較的輪數為n 1 for int i 0 i array.length 1 i for int i 0 i array.length i 選擇排序法 public v...
c 中常見的演算法 希爾排序
希爾排序 也稱遞減增量排序演算法,是插入排序的一種更高效的改進版本。但希爾排序是非穩定排序演算法。希爾排序是基於插入排序的以下兩點性質而提出改進方法的 1,插入排序在對幾乎已經排好序的資料操作時,效率高,即可以達到線性排序的效率 2,但插入排序一般來說是低效的,因為插入排序每次只能將資料移動一位 希...
c 中常見的演算法 氣泡排序
氣泡排序 bubble sort 是一種直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。演算法思路 1,...