码迷,mamicode.com
首页 > 编程语言 > 详细

[算法总结]partition (quicksort)

时间:2017-01-05 09:43:44      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:++   int   index   bre   class   大于   turn   log   span   

private int partition(int[] nums, int lo, int hi) {
        if (lo >= hi) {
            return lo;
        }
        int i = lo;
        int j = hi + 1;
        int v = nums[lo];
        while (true) {
            while (nums[++i] < v)
                if (i == hi) break;
            while (nums[--j] > v)
                if (j == lo) break;
            if (i >= j) {
                break;
            }
            int tmp = nums[i];
            nums[i] = nums[j];
            nums[j] = tmp;
        }
        nums[lo] = nums[j];
        nums[j] = v;
        return j;
    }

lo和hi都是inclusive的。 返回的数组中,index小于j的数都小于等于j,index大于j的数都大于等于j

[算法总结]partition (quicksort)

标签:++   int   index   bre   class   大于   turn   log   span   

原文地址:http://www.cnblogs.com/Gryffin/p/6251064.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!