简单选择排序(Simple Selection Sort)就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换之。
下面给出实现代码:
private static void selectionSort(int a[]){
int temp, min;
for(int i=0;i<a.length;i++){
min = i; <span style="white-space:pre"> </span>//将当前下标设为最小下标
for(int j=min+1;j<a.length;j++){
if(a[j]<a[min]){ <span style="white-space:pre"> </span>//如果后一个的值小于最小下标的值
min = j; //将最小值的下标赋值给min
}
//如果当前最小下标不等于i,则找到最小值,交换
if(min!=i){
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
}
}
测试代码:
public static void main(String args[]){
int a[] = new int[]{5, 3, 4, 6, 2};
selectionSort(a);
for (int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}