蓝桥杯省赛无忧 课件41 选择排序

蓝桥杯省赛无忧 课件41 选择排序_第1张图片

01 选择排序的思想

蓝桥杯省赛无忧 课件41 选择排序_第2张图片

02 选择排序的实现

蓝桥杯省赛无忧 课件41 选择排序_第3张图片

03 例题讲解

蓝桥杯省赛无忧 课件41 选择排序_第4张图片

#include 
using namespace std;
void selectionSort(int arr[], int n) {
    int i, j, min_index;
    // 移动未排序数组的边界
    for (i = 0; i < n-1; i++) {
        // 找到未排序的部分中最小元素的索引
        min_index = i;
        for (j = i+1; j < n; j++) {
            if (arr[j] < arr[min_index]) {
                min_index = j;
            }
        }
        // 将找到的最小元素与未排序的部分的第一个元素交换
        if (min_index != i) {
            swap(arr[min_index], arr[i]);
        }
    }
}
int main() {
    int n;
    cin >> n;
    int treasures[n];
    for(int i = 0; i < n; i++) {
        cin >> treasures[i];
    }
    selectionSort(treasures, n);
    for(int i = 0; i < n; i++) {
        cout << treasures[i] << ' ';
    }
    cout << endl;
    return 0;
}

你可能感兴趣的:(蓝桥杯省赛无忧,排序算法,算法,c++,蓝桥杯,选择排序)