求助:中轴数为中间数的快速排序最差情况(悬赏关注!!!)orz
  • 板块灌水区
  • 楼主变异哥斯拉
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/5/2 18:38
  • 上次更新2023/10/23 16:53:12
查看原帖
求助:中轴数为中间数的快速排序最差情况(悬赏关注!!!)orz
415970
变异哥斯拉楼主2023/5/2 18:38
void qsortm(int l, int r){
	if(l >= r) return;
	int pivot = a[(l + r) / 2];
	int i = l, j = r;
	while(i <= j){
		while(a[j] > pivot && i <= j){
			--j; ++count;
		}
		while(a[i] < pivot && i <= j){
			++i; ++count;
		}
		if(i <= j){
			std::swap(a[i], a[j]);
			++i; --j;
		}
	}
	qsortm(l, j);
	qsortm(i, r);
}

你需要提交一个输出文件。输出文件中包含 1000 个整数,每个整数之间用一个空格或换行符隔开。输出文件中 1 到 1000 都恰好出现一次且仅一次,使得各算法中比较次数计数器 count 达到至少(n*n)/4=250000次 。

2023/5/2 18:38
加载中...