数组-选择排序
在二层循环中使用记录下标,完成一次内层循环后再进行位置的交换
因为一次外层循环一次交换一次位置效率提高
当两个下标不一样的时候交换位置,相同时不交换
public class NumSort {
public static void main(String[] args){
int[] a = new int[args.length];
for(int i=0; i<args.length; i++){
a[i] = Integer.parseInt(args[i]); //将字符型的数组内容转化为整型的
}
print(a);
selectionSort(a);
print(a);
}
private static void selectionSort(int[] a){
int k, temp=0;
for(int i=0; i<a.length; i++){
k = i;
for(int j=k+1; j<a.length; j++){
if(a[j] < a[k]){
k = j;
}
}
if (k != i){
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
private static void print(int[] a){
for(int i=0; i<a.length; i++){
System.out.print(a[i] +" ");
}
System.out.println();
}
}