演算法基礎之選擇排序

2022-09-12 04:57:09 字數 908 閱讀 8963

選擇排序是排序演算法當中的入門演算法,相信學過資料結構與演算法的同學都是從這個排序開始的吧。大一接觸選擇排序演算法的時候覺得好簡單(相比氣泡排序來說),因為它的實現方式比較接近於人的思維方式。顧名思義,選擇排序演算法,起碼會有個「選擇」的過程吧?沒錯,選擇排序就是設定了兩個區域,乙個為有序區,另乙個則是無序區了。或者說是已排序區和等待排序區,都是一樣的。在選擇排序當中,每次迴圈都是在無序區當中選擇乙個最小(或最大)的元素,跟當前的元素進行交換;如果無序區中沒有比當前元素小(或大)的值,那麼已經是無序區中最小值了,它的合適位置就是當前位置。

比方說,有乙個長度為4的陣列a,。那麼我們第一趟排序就是要確定第乙個位置,也就是下標為0的位置,此時下標為0的位置是3,依次與後面元素比較,發現2比3小,那麼下標為0的元素和小標為1的元素交換位置,此時a[0]為2,繼續比較發現a[3]比a[1]小,那麼a[0]與a[3]交換位置,依次類推。

1

package

selectionsort;23

import

j**a.util.arrays;4/*

5* 選擇排序

6* 本例子為公升序7*/

8public

class

selectsort 22}

2324}25

26}2728

public

static

void

main(string args) ;

31 system.out.println("排序前:" +arrays.tostring(arr));

3233

selectsort(arr);

34 system.out.println("排序後:" +arrays.tostring(arr));

3536

}37 }

演算法基礎之選擇排序

說一下選擇排序的基本演算法 現在有這樣乙個陣列,3 4 6 1 7 2 5 8 我們對其進行從小到大的排序 現在我們預設陣列中第乙個元素就是陣列中的最小值,將它與其後邊的所有元素進行比較,當有元素的值小於當前預設最小元素時,交換這兩個元素的順序。當陣列第乙個元素小於後邊所有元素時,我們再用陣列第二個...

基礎演算法之選擇排序演算法

在要排序的一組數中,選出最小 或者最大 的乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後乙個數 比較為止。def select sort array for i in range len arr...

演算法 algorithms 基礎之 選擇排序

演算法 algorithms 基礎之 選擇排序 沒那麼簡單的部落格 陣列a中有n個數,首先找出a中的最小元素並將其與a 1 中的元素進行交換。接著,找出a中的次最小原始並將其與a 2 中的元素進行交換。對a中前n 1個元素按該方式繼續。該演算法稱為選擇演算法。假定陣列a 5,2,4,6,1,3 是需...