选择排序:先取第一个元素,然后其它元素依次与之相比较,找出最小的,放到第一个位置;
再取第二个元素,后面的元素还是依次与之比较,找出此次的最小值,放到第二个位置;
......
继续此步骤,直到排完序列。
#include<iostream>
using namespace std;
void SelectSort(int *a,int m){
for(int i=0;i<m-1;++i)
{ int p=i;
int temp=a[i];
for(int j=i+1;j<m;++j)
{
if(a[j]<temp)
{
temp=a[j];
p=j;
}
}
a[p]=a[i];
a[i]=temp;
}
}
int main()
{
int a[]={53,78,90,21,51,789,852,567,765,8908,253212,32,908};//随机定义的数组
int m=sizeof(a)/sizeof(*a);
SelectSort(a,m);
int count=0;
for(int index=0;index<m;++index)
{ cout<<a[index]<<"\t";
count++;
if(count%8==0)
cout<<endl;
}
if(m%8!=0)
cout<<endl;
return 0;
}