返回首页 C++ 模板

选择排序模板

每轮选出最小值放到前面——思路最直观的排序

选择排序 排序 GESP4
#include <bits/stdc++.h>
using namespace std;

int main() {
    int a[] = {5, 3, 8, 1, 2};
    int n = 5;

    // 选择排序
    for (int i = 0; i < n - 1; i++) {
        int minIdx = i;
        for (int j = i + 1; j < n; j++) {
            if (a[j] < a[minIdx])
                minIdx = j;
        }
        if (minIdx != i) swap(a[i], a[minIdx]);
    }

    for (int x : a) cout << x << " ";  // 1 2 3 5 8
    cout << endl;

    return 0;
}

📖 要点说明

⚠️ 常见错误