簡單選擇排序

2022-03-12 14:48:10 字數 1035 閱讀 6535

基本原理:

是從陣列索引0的位置開始,與陣列其它索引進行比較。如果比我小,則我們兩個交換位置。

然後,從1開始做類似的操作。

不是穩定的排序,因為有相同數字時,例如,(2)會和1交換位置,導致(2)與的索引順序發生了變化。

具體實現步驟:

定義用於交換陣列元素的方法:

1

private

sub swap(byval array() as

short,byval a as

short,byval b as

short

)2 array(a) = array(a) xorarray(b)

3 array(b) = array(a) xorarray(b)

4 array(a) = array(a) xorarray(b)

5end sub

2. 外層迴圈控制逐個取出數字i,最後一位不必要

3.內層迴圈控制讓取出的數字i同陣列中其它數字進行比較j = i+1 ; j++

4.得到最小數字的索引min,並交換位置

1

private

sub sort(byval array() as

short)2

dim i,j as

short

3dim min as

short

4for i=0

to array.length - 2

5 min =i

6for j = i + 1

to length - 1

7if(array(j) < array(min)) then

8 min =j

9end

if10

next

11if min <> i then

12swap(array,i,min)

13end

if14

next

15end sub

簡單選擇排序 簡單選擇排序詳解

n個記錄的檔案的直接選擇排序可經過n 1趟直接選擇排序得到有序結果 初始狀態 無序區為r 1.n 有序區為空。第1趟排序 在無序區r 1.n 中選出關鍵字最小的記錄r k 將它與無序區的第1個記錄r 1 交換,使r 1.1 和r 2.n 分別變為記錄個數增加1個的新有序區和記錄個數減少1個的新無序區...

選擇排序 簡單選擇排序

在要排序的一組數中,選出最小 或者最大 的乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後乙個數 比較為止。第一趟,從n個記錄中找出關鍵碼最小的記錄與第乙個記錄交換 第二趟,從第二個記錄開始的n ...

選擇排序 簡單選擇排序

1.選擇排序 簡單選擇排序,堆排序 與交換排序 氣泡排序,快速排序 的區別 每次比較如果發現較小的元素在後面,就交換兩個相鄰的元素。而選擇排序演算法的改進在於 先並不急於調換位置,先從a 1 開始逐個檢查,看哪個數最小就記下該數所在的位置p,等一躺掃瞄完畢,再把a p 和a 1 對調,這時a 1 到...