随机选择 pivots
| 11 | |
| 12 | // 随机选择 pivots |
| 13 | std::vector<int> selectPivots(const std::vector<int>& arr, int numPivots) { |
| 14 | std::vector<int> pivots; |
| 15 | // std::sample(arr.begin(), arr.end(), std::back_inserter(pivots), numPivots, rng); |
| 16 | pivots.insert(pivots.end(), arr.end()-numPivots, arr.end()); |
| 17 | std::sort(pivots.begin(), pivots.end()); // 按顺序排列 pivots |
| 18 | return pivots; |
| 19 | } |
| 20 | |
| 21 | // 分区函数:根据 pivots 将数组分成多个区块 |
| 22 | std::vector<std::vector<int>> partition(const std::vector<int>& arr, const std::vector<int>& pivots) { |
no test coverage detected