資料結構 簡單選擇排序(C語言實現)

2021-08-10 05:28:22 字數 1063 閱讀 2266

選擇排序的基本思想:每一趟在n-i+1(i=1,2,3,…,n-1)個記錄中選取關鍵字最小的記錄作為有序序列中第i個記錄。

演算法思想

第一趟簡單選擇排序時,從第乙個記錄開始,通過n-1 次關鍵字比較,從n 個記錄中選出關鍵字最小的記錄,並和第乙個記錄進行交換。

第二趟簡單選擇排序時,從第二個記錄開始,通過n-2 次關鍵字比較,從n -1個記錄中選出關鍵字最小的記錄,並和第二個記錄進行交換。

......

第i

趟簡單選擇排序時,從第i個記錄開始,通過n-i 次關鍵字比較,從n - i + 1個記錄中選出關鍵字最小的記錄,並和第i個記錄進行交換。

如此反覆,經過n-1 趟簡單選擇排序,將第n-1 個記錄排到位,剩下乙個最小記錄直接在最後,所以共需進行n-1 趟簡單選擇排序。

源**

#include

typedef

intkeytype;

typedef

struct

recordtype;

void selectsort(recordtype

r,int

length)     //

簡單選擇排序

}if (k != i)          //

當r[j].key>=r[k].key將r[k]的值借助中間變數x與x[i]的值交換

}} void showresult(recordtype*r,int

length)       //

輸出結果

}int main()

;    int length = sizeof(r) / sizeof(r[0]) - 1;

selectsort(r, length);

showresult(r,length);

printf("\n");

return  0;

}

資料結構 C語言實現選擇排序

一 選擇排序簡介 選擇排序是外層進行n 1趟排序,內層進行n 1趟排序,每一趟選出最大或最小的資料放在最前面。二 實現 include 將兩個資料交換 void swap int ina int inb 函式功能 選擇排序,把資料從小到大排序 引數解釋 inarray 輸入的陣列 inlen 輸入的...

資料結構C語言實現 選擇排序

選擇排序 第一步 從一串無序數字串中選乙個最小的與第乙個數交換位置 第二步 從剩下的數字中選乙個最小的與第二個數交換位置 第三步 從剩下的數字中選乙個最小的與第三個數字交換位置 以此類推.執行結果 抱歉,上面的排序是從小到大,打字錯誤 原始碼如下 includetypedef int keytype...

資料結構 簡單選擇排序

include include include include include include define maxsize 100 define elemtype int define status int using namespace std 順序表資料結構 typedef struct sq...