選擇排序(SelectionSort)

2021-09-26 15:15:39 字數 1315 閱讀 9330

從頭開始遍歷,每次都取剩餘元素的最小值與當前下標i的值進行交換,每完成一次迴圈將固定乙個元素的位置(第n次迴圈將確定第n小的資料的位置)

將陣列分為兩部分array[0…i-1]和array[i…n-1],每次迴圈後的array[0…i-1]都是排好序的

表現最穩定的排序演算法之一,因為無論什麼資料進去都是o(n2)的時間複雜度,所以用到它的時候,

資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間

("排序前:");

system.out.

println

(arrays.

tostring

(array));

array =

selectiontsort

(array)

; system.out.

println

("\n排序後:");

system.out.

println

(arrays.

tostring

(array));

}public

static

int[

]selectiontsort

(int

array)

}//找到本次迴圈的最小值下標後,將最小值與當前元素i交換值,每完成一次迴圈將固定乙個元素的位置(當前最小值)

int temp = array[i]

; array[i]

= array[min]

; array[min]

= temp;

} system.out.

println

("\n本次排序迴圈了"

+count+

"次")

;return array;}}

![在這裡插入描述]

基礎演算法之選擇排序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...