快速排序(java)

快速排序(java)

快速排序是最快的
参考菜鸟教程:地址
在这里插入图片描述
在这里插入图片描述

排序过程动图可参考点击跳转

private static void quick_sort(int s[], int l, int r) {
        if (l < r) {
            int i = l;
            int j = r;
            //基准数
            int x = s[l];
            while (i < j) {
                // 从右向左找第一个小于x的数
                while (i < j && s[j] >= x)
                    j--;
                // 从左向右找第一个大于等于x的数
                while (i < j && s[i] <= x)
                    i++;
                //把两个元素交换
                int ted = s[i];
                s[i] = s[j];
                s[j] = ted;
            }
            //当i和j指向同一个元素时把这个元素和基准数交换
            //基准数归位
            int ind = s[i];
            s[i] = x;
            s[l] = ind;
            // 递归调用
            quick_sort(s, l, i - 1);
            quick_sort(s, i + 1, r);
        }
    }

var code = “f7aff25d-8528-4f38-bd1c-931c307b8c1d”

posted @ 2022-10-11 00:22  waitly  阅读(13)  评论(0)    收藏  举报  来源