欢迎光临散文网 会员登陆 & 注册

鲁班Java架构VIP

2022-10-07 00:15 作者:绿兔子2  | 我要投稿

public static void quickSortPartition(int[] array, int left, int right) {        if (right > left) {            // 将 [left - right] 区域分成了            // [left, pivotIndex - 1] 和 [pivotIndex + 1, right] 两个            int pivotIndex = partition(array, left, right);            quickSortPartition(array, left, pivotIndex - 1);            quickSortPartition(array, pivotIndex + 1, right);        }    }    public static int partition(int[] array, int left, int right) {        // 挑选最右侧的作为基准值        int pivotValue = array[right];        int storeIndex = left;        for (int i = left; i < right; i++) {            if (array[i] <= pivotValue) {                swap(array, i, storeIndex);                storeIndex += 1;            }        }        swap(array, storeIndex, right);        return storeIndex;    }    private static void swap(int[] x, int a, int b) {        int t = x[a];        x[a] = x[b];        x[b] = t;    }


鲁班Java架构VIP的评论 (共 条)

分享到微博请遵守国家法律