首页 > 代码库 > [算法总结]partition (quicksort)
[算法总结]partition (quicksort)
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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。