从一个序列中选择出最小的元素与第一个元素进行交换;
第一个元素有序,从第二个元素开始找到最小的元素与第二个元素进行交换;
前两个元素有序,从第三个元素开始找到最小的元素与第三个元素进行交换;
。。。。。。;
直到整个序列有序;
完整代码:
#include<iostream>
using namespace std;
void select_sort(int a[],int n){
for(int i=0;i<n-1;i++){
int min=a[i],m=i;
for(int x=i+1;x<n;x++){
if(min>a[x]){
min=a[x];
m=x;
}
}
a[m]=a[i];
a[i]=min;
}
}
int main(){
int a[5]={4,3,2,5,1};
select_sort(a,5);
for(int x=0;x<5;x++)cout<<a[x]<<",";
cout<<endl;
return 0;
}