01 选择排序的思想
02 选择排序的实现
03 例题讲解
#include <iostream>
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;
}