Discuss / Java / 两种写法

两种写法

Topic source

alienation

#1 Created at ... [Delete] [Delete and Lock User]

第一种,每次局部数组的所有元素都要和新来的元素比较一次以确定新来的元素的位置,最后局部数组就是排好序的整体

public class Hello {
    public static void main(String[] args) {
        int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
        for (int i=1;i<ns.length;i++) {
            for (int j=0;j<i;j++){
                if (ns[i-j]>ns[i-j-1]) {
                    int tmp = ns[i-j];
                    ns[i-j] = ns[i-j-1];
                    ns[i-j-1] = tmp;
                }
            }
        }
        System.out.println(Arrays.toString(ns));
    }
}

第二种,每次整体数组都要把最值这个刺头排挤出去,最后被排挤出去形成的局部数组就是排好序的整体

public class Hello {
    public static void main(String[] args) {
        int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
        for (int i=0;i<ns.length;i++) {
            for (int j=0;j<ns.length-i-1;j++){
                if (ns[j]<ns[j+1]) {
                    int tmp = ns[j];
                    ns[j] = ns[j+1];
                    ns[j+1] = tmp;
                }
            }
        }
        System.out.println(Arrays.toString(ns));
    }
}

  • 1

Reply