#include<iostream>
using namespace std;
void ChoseSort(int *a,int length)
{
int FindMin(int *a,int v,int length);
int i,j,temp,num;
for(i=0;i<length;i++)
{
num=FindMin(a,i,length);
temp=a[i];
a[i]=a[num];
a[num]=temp;
}
}
int FindMin(int *a,int v,int length)
{
if(v==9)
return 9;
int i,min,temp=v;
min=a[v];
for(i=v+1;i<length;i++)
{
if(min>a[i])
{
min=a[i];
temp=i;
}
}
return temp;
}
int main()
{
int a[10]={4,6,2,3,5,1,7,9,8,10};
ChoseSort(a,10);
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
思路:每次选择一个最小的放在已经排好序的数组中的后面