Rust实现:
fn quick_sort(nums: &mut Vec<u8>, left: usize, right: usize) {
if left >= right {
return;
}
let mut l = left;
let mut r = right;
while l < r {
while l < r && nums[r] >= nums[left] {
r -= 1;
}
while l < r && nums[l] <= nums[left] {
l += 1;;
}
nums.swap(l, r);
}
nums.swap(left, l);
if l > 1 {
quick_sort(nums, left, l - 1);
}
quick_sort(nums, r + 1, right);
}