Enlighter教程

32次阅读
一条评论
public class BubbleSortApp {
    public static void main(String[] args) {
        int[] ints = Data4Sort.get();
        System.out.println(Arrays.toString(ints));
        System.out.println("after sort.......");
        bubbleSort(ints, false);
        System.out.println(Arrays.toString(ints));

    }

    public static void bubbleSort(int[] args, boolean asc) {
        int len = args.length;
        //N个数字,排序N-1轮即可,剩下一个不需要排,下标从0开始因此小于N-1即可
        for (int i = 0; i < len - 1; i++) {
            //第一轮,9个数对比8次即可;
            //第二轮,8个数对比7次即可,第一轮中1个数不参与排序;
            //第三轮,7个数对比6轮即可,第一轮和第二轮中共2个数不参与排序;
            for (int j = 0; j < (len - 1) - i; j++) {
                if (asc) {
                    if (args[j] > args[j + 1]) {
                        swapElement(args, j, j + 1);
                    }
                } else {
                    if (args[j] < args[j + 1]) {
                        swapElement(args, j, j + 1);
                    }
                }
            }
        }
    }

    private static void swapElement(int[] args, int i, int j) {
        int tmp = args[i];
        args[i] = args[j];
        args[j] = tmp;
    }

}

这是个测试

正文完
 

Archives

评论(一条评论)