選擇排序是排序演算法當中的入門演算法,相信學過資料結構與演算法的同學都是從這個排序開始的吧。大一接觸選擇排序演算法的時候覺得好簡單(相比氣泡排序來說),因為它的實現方式比較接近於人的思維方式。顧名思義,選擇排序演算法,起碼會有個「選擇」的過程吧?沒錯,選擇排序就是設定了兩個區域,乙個為有序區,另乙個則是無序區了。或者說是已排序區和等待排序區,都是一樣的。在選擇排序當中,每次迴圈都是在無序區當中選擇乙個最小(或最大)的元素,跟當前的元素進行交換;如果無序區中沒有比當前元素小(或大)的值,那麼已經是無序區中最小值了,它的合適位置就是當前位置。
比方說,有乙個長度為4的陣列a,。那麼我們第一趟排序就是要確定第乙個位置,也就是下標為0的位置,此時下標為0的位置是3,依次與後面元素比較,發現2比3小,那麼下標為0的元素和小標為1的元素交換位置,此時a[0]為2,繼續比較發現a[3]比a[1]小,那麼a[0]與a[3]交換位置,依次類推。
1package
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 是需...