选择排序的思路很简单,就是左端为有序段,右端为待排序段,设置一个标志位,分割左右两端,外层循环控制标志位往后移,内层循环用于寻找无需段的最小值
#include <iostream>
using namespace std;
void SelectSort(int arr[],int n);
int main() {
int arr[] = {3,6,5,4,48,6,92,12};
SelectSort(arr,8);
for (int i:arr){
cout<<i<<" ";
}
return 0;
}
void SelectSort(int arr[],int n){
int min;
for (int i = 0; i < n; ++i) {
min = i;
for (int j = i; j < n; ++j) {
if (arr[min]>arr[j])
min = j;
}
int t = arr[i];
arr[i] = arr[min];
arr[min] = t;
}
}