优化的选择排序算法实现
思想:即使只是记录虽小或最大值,而不是每次都交换数组
实现代码:
public class Test {
public static void main(String[] args) {
int[] a={33,56,32,66,94,33,90,100,23};
selectSort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
public static void selectSort(int[] arr){
for(int x=0;x<arr.length;x++){
int num=arr[x];
int index=x;
for(int y=x+1;y<arr.length;y++){
if(arr[y]<num){
num=arr[y];
index=y;
}
}
int temp=arr[x];
arr[x]=arr[index];
arr[index]=temp;
}
}
}
输出结果:
23 32 33 33 56 66 90 94 100