//选择排序是每次都选取所有剩余序列中的最小值,然后将其与最前面值互换(先找最小值,最后换一次)
#include<iostream>
using namespace std;
void swap(int *a,int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
void select_sort(int a[],int n)
{
for(int i=0;i<n-1;i++)
{
int lowindex = i;//lowindex用来存储最小下标,从而每次都可从剩余序列中选取最小值
for(int j = n-1;j>i;j--)
if(a[j]<a[lowindex])
lowindex = j;
swap(&a[i],&a[lowindex]);
}
}
void main()
{
int a[10] = {1,3,5,7,2,8,4,9,6,0};
select_sort(a,10);
for(int i = 0;i<10;i++)
{
printf("%d \n",a[i]);
}
system("pause");
return;
}