public static void SelectSort()
{
int N = 10;
int a[] = {2,4,6,5,7,9,8,10,1,3};
int tmp = 0;
for(int i=0;i<N;i++)
{
int min = i;
for(int j=i+1;j<N;j++)
{
if(a[min]>a[j])
{
min = j;
}
}
if(min != i)
{
tmp = a[i];
a[i] = a[min];
a[min] = tmp;
}
}
for(int i=0;i<N;i++)
{
System.out.printf("%d ",a[i]);
}
}
选择排序的实现:
外循环遍历和交换N次,内循环比较N×N/2次。内循环先比较出来最小的数据(或者最大的数据),外循环在交换。
参考:算法第四版。