提交记录 19281


用户 题目 状态 得分 用时 内存 语言 代码长度
GNAQ 1001. 测测你的排序 Compile Error 0 0 ns 0 KB C++ 576 B
提交时间 评测时间
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);
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2024-04-19 08:39:59 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用