选择排序是先从无序队列中选取一个最小值,然后替换,最终按顺序筛选
步骤
a[n]
1.从a[n] 中选出最小值,和a[0]交换
2.从a[1]...a[n]中选出最小值和a[1]交换
...
时间复杂度O(n^2)
JAVA代码实现
public static void sort(int[] a)
{
if((a==null)||(a.length==0))
return;
int minIndex=0;
System.out.println("排序原始数组:"+Arrays.toString(a));
for(int i=0;i<a.length;i++)
{
minIndex = i;
for(int j=i+1;j<a.length;j++)
{
if(a[j]<a[minIndex])
{
minIndex= j;
}
if(minIndex!=i)
{
a[i] = a[i]^a[minIndex];
a[minIndex] = a[i]^a[minIndex];
a[i] = a[i]^a[minIndex];
}
}
System.out.println("第"+(i+1)+"次排序结果:"+Arrays.toString(a));
}
代码测试和下载