关于我手写了个快排,还TLE了这档事
  • 板块学术版
  • 楼主Acfboy
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/2/3 07:02
  • 上次更新2023/11/5 03:53:26
查看原帖
关于我手写了个快排,还TLE了这档事
40318
Acfboy楼主2021/2/3 07:02

RT, 难道sort用多了我真的不会快排吗

记录

#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <ctime>
const int N = 100005;
int n, a[N];
void sort(int l, int r) {
	if(l >= r) return;
	int m = rand() % (r-l+1) + l; std::swap(a[m], a[r]);
	int x = a[r], i = l-1;
	for(int j = l; j < r; j++) 
		if(a[j] <= x) std::swap(a[++i], a[j]);
	std::swap(a[++i], a[r]);
	sort(l, i-1); sort(i+1, r);
}
signed main() {
	scanf("%d", &n);
	srand((int)time(0));
	for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
	sort(1, n);
	for(int i = 1; i <= n; i++) printf("%d ", a[i]);
	return 0;
}
2021/2/3 07:02
加载中...