#include <iostream>
#include <vector>
using namespace std;
void selectionSort(vector<int>& arr) { //用vector函数构造数组,&(引用传递),可以不加
int n = arr.size();
for (int i = 0; i < n - 1; i++) { //确定循环次数
for (int j = 0; j < n - 1 - i; j++) { //确定比较次数,每一次比较都会将最大数放到最后,下一轮就不需要比较
//所以采用 n - 1 - i
if (arr[j] > arr[j + 1]) {
swap(arr[j],arr[j + 1]); //如果比后一个数大则换位置
}
}
}
}
int main() {
int num;
cout << "请输入数字的个数:" << endl;
cin >> num;
vector<int> arr(num);
cout << "请输入要排序的数字:" << endl;
for (int i = 0; i < num; i++) {
cin >> arr[i];
}
selectionSort(arr);
cout << "排序后的结果:" << endl;
for (int i = 0; i < num; i++) {
cout << arr[i] << " ";
}
return 0;
}
运行结果: