思想:
從待排序的資料中線性查詢尋找最小值,將其與序列最左邊的數字進行交換,重複此操作。
時間複雜度:
o(n²)
**實現
核心**:
/*
* 選擇排序
* */
public
class
selectionsort
}//每一次遍歷完成,交換當前位置的元素和最小元素交換
if(minindex != i)
}return a;
}}
測試:
public
class
selectiontest
; selectionsort selectionsort =
newselectionsort()
; system.out.
println
("排序前的陣列"
+arrays.
tostring
(a))
; selectionsort.
sort
(a);
system.out.
println
("排序前後的陣列"
+arrays.
tostring
(a));}
}
結果:
排序前的陣列[2, 3, 4, 1, 12, 6, 9, 0, 13, 100, 2, 5]
選擇排序ing……
排序前後的陣列[0, 1, 2, 2, 3, 4, 5, 6, 9, 12, 13, 100]
基礎演算法之選擇排序Selection Sort
原理 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小 大 元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。一種簡單直觀的排序演算法。例子將陣列 3,6,4,2,5,1 進行從大到小排序 排序步驟 第一趟找到最小數1,放到最前邊...
排序 選擇排序 選擇排序 堆排序
寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...
選擇排序 直接選擇排序
演算法思想 在每一趟的排序中,從待排序列中選出關鍵字最小或者最大的元素放在其最終的位置上 過程分析 在第i趟直接排序中,通過n i次關鍵字的比較,從n i 1個元素中選出關鍵字最小的元素 與第i個元素進行交換。經過n 1趟比較,直到表有序為止 效能分析 時間複雜度o n 2 include defi...