快速排序板子
好多年了,竟然没忘,蓝书上的,之后数据结构书又改一了版
void quick_sort(vector<int>& nums, const int& k, int x, int y) { if (x >= y) return; int p = x, q = y; int stash = nums[x]; while(p < q) { while(p < q && nums[q] >= stash) q--; while(p < q && nums[p] <= stash) p++; if (p < q) { swap(nums[p], nums[q]); } } swap(nums[x], nums[q]); quick_sort(nums, k, x, p - 1); quick_sort(nums, k, p + 1, y); }
快排找第k大
class Solution { public: void quick_sort(vector<int>& nums, const int& k, int x, int y) { if (x >= y) return; int p = x, q = y; int stash = nums[x]; while(p < q) { while(p < q && nums[q] >= stash) q--; while(p < q && nums[p] <= stash) p++; if (p < q) { swap(nums[p], nums[q]); } } swap(nums[x], nums[q]); if (p == nums.size() - k) { return; } else if (p > nums.size() - k) { quick_sort(nums, k, x, p - 1); } else { quick_sort(nums, k, p + 1, y); } } int findKthLargest(vector<int>& nums, int k) { quick_sort(nums, k, 0, nums.size() - 1); return nums[nums.size() - k]; } };
自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。

浙公网安备 33010602011771号