60,两个案例超时
查看原帖
60,两个案例超时
638272
thehanged楼主2024/1/29 14:55

这是我的源码,用暴力扫一遍分左右区间都能过。我这样为啥过不了,,

#include <iostream>
using namespace std;

const int N = 1e5 + 5;

void quick_sort(int* arr, int l, int r){
	if(l >= r) return ;
	int x = arr[l], i = l - 1, j = r + 1;
	while(i < j){
		do i++ ; while(arr[i] < x);
		do j-- ; while(arr[j] > x);
		if(i < j) swap(arr[i], arr[j]);
	}
	quick_sort(arr, l , j);
	quick_sort(arr, j + 1, r);
}

int main(){
	int n, arr[N];
	scanf("%d", &n);
	for(int i = 0; i < n; ++i) scanf("%d", &arr[i]);
	quick_sort(arr, 0, n - 1);
	for(int i = 0; i < n; ++i) cout << arr[i] << " ";
	return 0;
}
2024/1/29 14:55
加载中...