1. 程式人生 > 實用技巧 >kubeadm安裝kubernetes叢集

kubeadm安裝kubernetes叢集

技術標籤:演算法c++演算法資料結構排序演算法c++

選擇排序演算法

選擇排序的思想分析及圖解…

選擇排序:(時間複雜度)(穩定性)

在這裡插入圖片描述
演算法思想:

記錄待排序陣列的第一個元素值和其索引,向後遍歷判斷他是不是最小值(最大值)

如果不是,則更新最小值和其所在位置索引

遍歷結束後,若索引更新,則交換首元素與更新後索引位置的值

接下來的待排序陣列為除開第一個元素,剩下的陣列,按上述相同方法選擇出 後替換

直至待排陣列大小為一,結束

選擇排序動態演示:

在這裡插入圖片描述
程式碼:

#include<iostream>
#include<vector>
using namespace
std; //選擇排序定義 void select_sort(vector<int> &arr) { //計算元素個數 int len = arr.size(); for (int i = 0; i < len - 1; ++i) { //記錄最小值和其索引 int min = arr[i]; int index = i; for (int j = i + 1; j < len; ++j) { //判斷最小,並更新最小值和其索引 if (arr[j] < min) { min = arr[j]; index =
j; } } //當索引改變 //替換 if (index != i) { arr[index] = arr[i]; arr[i] = min; } } } int main() { //簡單測試 vector<int> arr = { 8,5,9,6,4,5 }; cout << "排序前:"; for (auto a : arr) cout << a << " "; select_sort(arr); cout << "排序後:"
; for (auto a:arr) cout << a << " "; return 0; }

點個贊吧!!