每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
#include <iostream>
using namespace std;
int main()
{
int a[10];
int i,j,k,m;
cout<<"请输入10个数字,数字之间用空格间隔:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
for(i=0;i<9;i++)
{
k=i;
for(j=i+1;j<10;j++)//找出最小的数在数组中才下标
if(a[k]>a[j])
k=j;
if(k!=i)//与第i个数交换.刚开始i=0,就是第一个数组中的数
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
cout<<"用选择法由小到大排序为:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<" ";
return 0;
}