引言
本篇介紹選擇排序,如果你需要了解其他排序算法,請點選下面連結檢視!!!
了解更多:資料結構與算法目錄整理
選擇排序
一、選擇排序的概念
選擇排序(Selection sort)是一種簡單直覺的排序算法。它的工作原理是:第一次從待排序的資料元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定的排序方法。
二、算法步驟
- 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
- 再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。
- 重複第二步,直到所有元素均排序完畢。
三、動圖示範

四、代碼實作
這裡以數組 arr={10,5,8,4,9,3} 為例
for(int i=0;i<arr.length-1;i++) {
int index=i;
int temp=arr[i];
for(int j=i+1;j<arr.length;j++) {
if(arr[j]>=arr[index]) {
index=j;
}
}
arr[i]=arr[index];
arr[index]=temp;
}
複制
運作結果: