C 選擇排序(selectionSort)

2021-09-16 14:16:44 字數 596 閱讀 7509

一、思路

每次取剩下沒排序的數中的最小數,然後,填到對應位置。(可以使用a[0]位置作為暫存單元)

如下:

二、實現程式:

#include using namespace std;

const int maxsize = 100;

templatevoid selectsort(t arr, int n); // 選擇排序

int main(int argc, const char * ar**)

// 直接選擇排序

template void selectsort(t arr, int n)

}if(pos != i)

} // for

} // selectsort

測試資料:

720 12 50 70 2 8 40

測試結果:

排序 選擇排序(C )

1 選擇排序的核心思想是 1 第1趟排序是從第 1個元素 後面的 n 1 個元素中選擇乙個值最小於第1 個元素的元素與第 1個元素交換位置 2 第2 趟排序是從第 2個元素後面的 n 2個元素中選擇乙個值最小於第 2個元素的元素與第 2個元素交換位置 3 以此類推,知道第n 1 趟,排序結束。第 i...

選擇排序 C

選擇排序的時間複雜度為o n n 空間複雜度為o n 邏輯分析 1 假設陣列中的最小數為a 0 然後比較陣列中其他數與a 0 的大小,若a i 2 然後繼續將a 1 中存訪後面元素最小的,一直到排序完成。是不是很簡單,對,就這麼簡單。include includeusing namespace st...

c 選擇排序

每一趟從待排序的資料元素中選出最小 或最大 的乙個元素,順序放在已排好序的數列的最後,直到全部待排序的資料元素排完。選擇排序是穩定的排序方法。示例 初始關鍵字 49 38 65 97 76 13 27 49 第一趟排序後 13 38 65 97 76 49 27 49 第二趟排序後 13 27 65...