八大排序演算法(三)簡單選擇排序

2021-07-04 11:45:38 字數 1139 閱讀 5072

基本思想

在要排序的一組數中,選出最小(或者最大)的

乙個數與第1個位置的數交換;

然後在剩下的數當中再找最小(或者最大)的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後

乙個數)比較為止。

簡單選擇排序的示例

操作方法:

第一趟,從n 個記錄中找出關鍵碼最小的記錄與第乙個記錄交換;

第二趟,從第二個記錄開始的n-1 個記錄中再選出關鍵碼最小的記錄與第二個記錄交換;

以此類推.....

第i 趟,則從第i 個記錄開始的n-i+1 個記錄中選出關鍵碼最小的記錄與第i 個記錄交換,

直到整個序列按關鍵碼有序。

演算法實現:

void print(int a, int n ,int i)  

return k;

}

/**

* 選擇排序

* */

void selectsort(int a, int n)

print(a, n , i);

} } int main();

cout<

for(int j= 0; j<8; j++)

if (r[j]< r[min])

}

//該交換操作還可分情況討論以提高效率

tmp = r[i-1]; r[i-1] = r[min]; r[min] = tmp;

tmp = r[n-i]; r[n-i] = r[max]; r[max] = tmp;

}

}

八大排序演算法 簡單選擇排序

通過下標位置減少交換次數,在要排序的一組數中,選出最小 或者最大 的乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後乙個數 比較為止。include 簡單選擇排序 void selectsort ...

八大排序演算法的python實現(八)簡單選擇排序

coding utf 8 author 徐卜靈 l 6,3,2,32,5,4 defselect sort l for i in range 0,len l for j in range i,len l if l i l j 打擂台的形式 temp l i l i l j l j temp l i ...

八大排序 選擇排序

n個資料的檔案可經過n 1趟直接選擇排序得到有序結果。初始狀態 無序區 r 1.n 有序區為空。第一趟排序 在無序區r 1.n 選出下標最小的記錄r 1 通過比較獲得無序區中最小的,將他與無序區的第乙個記錄r 1 交換,使得r 1.1 和r 2.n 成為新的有序區域,和新的無序區域。第i趟排序 第i...