选择排序
工作原理:开启一个循环,每轮从未排序区间选择最小的元素,将其放到已排序区间的末尾。
eg: 4 1 3 1 5 2
step1. swap(4,1) 1 4 3 1 5 2
step2. swap(4,1) 1 1 3 4 5 2
step3. swap(3,2) 1 1 2 4 5 3
step4. swap(4,3) 1 1 2 3 5 4
step5. swap(5,4) 1 1 2 3 4 5
c++
#include<iostream>
using namespace std;
int main(){
int size = 6;
int nums[] = {4,1,3,1,5,2};
for(int i = 0;i<size;i++){
int min = i;
for(int j = i+1;j<size;j++){
if(nums[j] < nums[min]){
min = j;
}
}
int temp = nums[i];
nums[i] = nums[min];
nums[min] = temp;
}
for(int i = 0;i<6;i++){
cout<<nums[i]<<" ";
}
return 0;
}