#include<iostream>
using namespace std;
void swap(int& a, int& b) { //交换模块
int temp = a;
a = b;
b = temp;
}
void disp(int a[],int n) { //打印模块
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
cout << endl;
}
void SelectSort(int a[], int n, int i) { //选择模块
int j, k;
if (i == n - 1) return;
else {
int k = i;
for (int j = i + 1; j < n; j++) { //对比a[i]和a[i+1]以后的
if (a[k] < a[j]) {
k = j; //如果等于,就更新a[k],k就是从最小的下标
}
}
if (k != i) swap(a[k], a[j]); //进行交换
cout << a[k] <<" " << a[j];
SelectSort(a, n, i + 1);
}
}
int main() {
int a[] = { 3,4,2,6,3,8,9,7,1 };
cout << "排序前的结果为:";
int n = sizeof(a) / sizeof(a[0]);
disp(a, n);
SelectSort(a, n, 0);
cout << "简单排序后的结果为:";
disp(a, n);
}