排序代码示例

快速排序

public static void main(String[] args) {
        int[] arr = {0, 5, 9, 1, 3, 6};
        //int partition = partition(arr, 0, arr.length - 1);
        quick(arr, 0, arr.length-1);
        System.out.println(Arrays.toString(arr));
    }

    public static void quick(int[] arr, int l, int r) {
        if (l < r) {
            int mid = partition(arr, l, r);
            quick(arr, l, mid-1);
            quick(arr, mid+1 , r);
        }
    }
    public static int partition(int arr[], int l, int r) {
        int pivot=arr[r];
        int cur=l;
        for (; l < arr.length-1;l++) {
            if (arr[l] < pivot) {
                swap(arr, cur++, l);
            }
        }
        swap(arr, cur, r);
        return cur;
    }

    private static void swap(int[] arr, int i, int r) {
        int temp = arr[i];
        arr[i] = arr[r];
        arr[r] = temp;
    }

posted @   梦回大唐meng  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示