提交记录 19281
提交时间 |
评测时间 |
2023-03-20 17:35:02 |
2023-03-20 17:35:04 |
#include <algorithm>
#include <ctime>
#include <random>
template<typename T>
void QSort(int l, int r, T *arr, mt19937 &mtgen) {
if (l == r)
return;
uniform_int_distribution<int> dist(0, r - l);
int pivot = arr[dist(mtgen) + l];
int i = l, j = r;
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
swap(arr[i], arr[j]);
i++;
j--;
}
}
if (j > l)
QSort(l, j, arr, mtgen);
if (i < r)
QSort(i, r, arr, mtgen);
}
void sort(unsigned *a, int n) {
mt19937 mtgen(time(NULL));
QSort(1, n, a, mtgen);
}
Compilation | N/A | N/A | Compile Error | Score: N/A | 显示更多 |
Judge Duck Online | 评测鸭在线
Server Time: 2025-05-13 19:00:35 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠