最简单的一种排序,也是最简单的一种排序。
本质上对一个数组内的逐个子区间进行操作,将最小的元素放在第一位。子区间由范围位i~n,其中i每次循环自增;
代码如下:
#include<cstdio>
#include<iostream>
#include<vector>
#include<stdlib.h>
using namespace std;
using std::vector;
void SelectSort(vector<int>& v){
for(int i=0;i<v.size();i++){
int k=i;
for(int j=i;j<v.size();j++){
if(v[k]>v[j]){
k=j;
}
}
int temp=v[i];
v[i]=v[k];
v[k]=temp;
}
}
int main(){
int a[]={19,323,532,1231,66,23,55};
vector<int>vec(a,a+7);
SelectSort(vec);
for(int i=0;i<vec.size();i++)
printf("%d ",vec[i]);
system("pause");
}