勵志

勵志人生知識庫

如何选择排序

選擇排序是一種簡單直觀的排序算法,其工作原理是首次從待排序的數據元素中選出最小(或最大)的一箇元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小(大)元素,放到已排序的序列的末尾。以此類推,直到全部待排序的數據元素的個數爲零。

選擇排序的具體步驟如下:

初始狀態:無序區爲R[0..n-1](共n個元素),有序區爲空。

第1趟排序:設置一箇變量i,讓i從0至n-2循環的同時,對比數組中元素i跟元素i+1的大小,如果R[i+1]比R[i]小(或大),則用一箇變量k來記住他的位置(即k=i+1)。等到循環結束的時候,應該找到了R中最小的那個數的位置了。然後進行判斷,如果這個最小元素的不是R的第一個元素,就讓第一個元素跟他交換一下值,使R[0..0]和R[1..n-1]分別變爲記錄個數增加1個的新有序區和記錄個數減少1個的新無序區。

第i趟排序:重複以上步驟,直到所有元素均排序完畢。

選擇排序的時間複雜度爲O(n^2),是不穩定的排序方法。