選擇排序(selection sort)是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始(末尾)位置,直到全部待排序的資料元素排完。選擇排序是不穩定的排序方法(比如序列[5, 5, 3]第一次就將第乙個[5]與[3]交換,導致第乙個5挪動到第二個5後面)。
簡單選擇排序的基本思想:給定陣列:int arr=;第1趟排序,在待排序資料arr[1]~arr[n]中選出最小的資料,將它與arrr[1]交換;第2趟,在待排序資料arr[2]~arr[n]中選出最小的資料,將它與r[2]交換;以此類推,第i趟在待排序資料arr[i]~arr[n]中選出最小的資料,將它與r[i]交換,直到全部排序完成。
//記錄當前趟數的最大值的角標
int pos ;
//交換的變數
int temp;
//外層迴圈控制需要排序的趟數
for (int i = 0; i < arrays.length - 1; i++)
}//交換
temp = arrays[pos];
arrays[pos] = arrays[arrays.length - 1 - i];
arrays[arrays.length - 1 - i] = temp;
}
選擇排序就是在不斷選擇剩餘元素的最小值,然後放在恰當的位置。
比較簡單的三種排序就總結完了,以後閒下來再總結其他方法。
排序演算法(三)選擇排序
基本思想 每一趟在後面n i 1個待排序的元素中找到最小的然後放置在第i個位置,就是位置0 length 1下標相當於是已經知道順序的了,然後在序列裡找每組序列的最小元素放在這個已知位置就可以了。基本思想 每一趟排序記錄當前元素的最終位置,設定乙個變數,每當要交換的時候,隨時更改變數的值 inclu...
排序演算法 (三)選擇排序
author 閆振興 contact 1753502691 qq.com datetime 2020 5 23 18 14 software pycharm 檔案說明 encoding utf 8 選擇排序 首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置。再從剩餘未排序元素中繼續尋找...
排序演算法(三) 選擇排序演算法
選擇排序演算法首先從序列中選擇乙個元素arr i 通常是第乙個 作為當前最小值,然後把arr i 依次與序列中arr i 之後的元素作比較,如果有元素小於arr i 的,就讓它跟arr i 交換。然後再選擇arr i 1 作為下一輪比較的最小值,然後繼續比較.選擇排序演算法原理很簡單,就是每次把未排...