数组-选择排序-记录下标
在二层循环中使用记录下标,完成一次内层循环后再进行位置的交换
因为一次外层循环一次交换一次位置效率提高
当两个下标不一样的时候交换位置,相同时不交换
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();
}
}
阅读更多
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了