简单选择排序
说白了就是每一次循环都找一个最小的值,用min保存这个最小值的下标,让它与开头的值交换。
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<vector>
using namespace std;
class solution {
public:
void selectSort(vector<int> &array) {
for (int i = 0; i < array.size(); i++) {
int min = i;
for (int j = i; j < array.size(); j++) {
if (array[j] < array[min]) {
min = j;
}
}
if (i != min) {
swap(array[i], array[min]);
}
}
}
};
int main() {
solution solo;
vector<int> array = { 3,6,2,1,8,7,5,9 };
solo.selectSort(array);
for (auto i : array) {
cout << i << endl;
}
}