簡單選擇排序是一種選擇排序。
1.簡單選擇排序的定義
每趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排序的記錄序列末尾,直到全部排序結束為止。
2.簡單選擇排序的流程
例項
注:紅色數字是位置發生變化的數值。
3.簡單選擇排序的**實現
public
class ******selectsort
}// 若min有變化,就將找到的第i個小的數值與第i個位置上的數值交換
if (min != i)
// system.out.format("第 %d 趟:\t", i + 1);
// printall(arr);}}
// 列印完整序列
public
void
printall(int list)
system.out.println();
}public
static
void
main(string args)
// 呼叫選擇排序方法
******selectsort selection = new ******selectsort();
system.out.print("排序前:\t");
selection.printall(array);
// system.out.println(arrays.tostring(array));
selection.selectionsort(array);
system.out.print("排序後:\t");
selection.printall(array);}}
輸出結果:
排序前: 3 5 2 9 4 1 7 7 5 3
排序後: 1 2 3 3 4 5 5 7 7 9
4.簡單選擇排序的特點5.演算法分析(1)簡單選擇排序演算法的效能
(2)時間複雜度
(3)空間複雜度
(4)穩定性
如果當前鎖定元素比後面乙個元素大,而後面較小的那個元素又出現在乙個與當前鎖定元素相等的元素後面,那麼交換後位置順序顯然改變了,所以是不穩定的。
本人才疏學淺,若有錯,請指出
謝謝!
排序演算法 選擇排序 簡單選擇排序
package 選擇排序 簡單選擇排序 不穩定 基本思想 在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換 然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。public class 簡單選擇排序 system.out.println 排序之前 f...
排序演算法 簡單選擇排序
簡單選擇排序法就是通過n i次關鍵字比較,找到最小的關鍵字下標,最後在替換n i下標和最小下標的值。簡單排序的思想和氣泡排序的思想的區別是氣泡排序是相鄰關鍵字兩兩比較,如果小,則直接替換,可能在一輪迴圈會進行多次值交換。而簡單選擇排序法是一輪迴圈找到最小關鍵字下標,最後進行最多一次替換。public...
排序 簡單選擇排序演算法
排序分析 待排陣列 arr 9 排後陣列 newarr 9 第一輪 算出newarr 0 該放哪個元素。把arr某個元素放到newarr 0 arr減去該元素。arr剩下元素依次與newarr 0 對比,誰小誰排newarr 0 結果 arr newarr 1 第二輪 算出newarr 1 該放哪個...