手写快排和冒泡

163 阅读1分钟
//快排
static void qsort(int[] arr, int l, int r) {
        if (l >= r) {
            return;
        }
        int te = arr[l];
        int pos = l;
        for (int i = l + 1; i <= r; i++) {
            if (arr[i] <= te) {
                swap(arr, ++pos, i);
            }
        }
        swap(arr, pos, l);
        qsort(arr, l, pos - 1);
        qsort(arr, pos + 1, r);
    }

    static void swap(int[] arr, int a, int b) {
        int te = arr[a];
        arr[a] = arr[b];
        arr[b] = te;
    }
    //冒泡
    static void bundleSort(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    swap(arr, i, j);
                }
            }
        }
    }

 本文已参与「新人创作礼」活动,一起开启掘金创作之路