快排TLE求助
查看原帖
快排TLE求助
815490
cagur楼主2022/11/18 14:14

感觉代码没问题,但是后三个测试点都是TLE

#include <iostream>
using namespace std;
int n;
int arr[10001];
void quick_sort(int left , int right){
    int temp;
    if(left > right) return ;
    temp = arr[left];
    int i = left;
    int j = right;
    while(i!=j){
        while(arr[j]>=temp && i<j) j--; 
        while(arr[i]<=temp && i<j) i++;
        if(i<j){
            int t = arr[j];
            arr[j] = arr[i];
            arr[i] = t;
        }
       
    }
    arr[left] = arr[i];
    arr[i] = temp;

    quick_sort(left,i-1);
    quick_sort(i+1,right);
}
int main(){
    cin >> n;
    for(int i=1;i<=n;i++){
        cin >> arr[i];
    }
    quick_sort(1,n);
    for(int i =1;i<=n;i++){
        cout << arr[i] << " ";
    }
    return 0;
}
2022/11/18 14:14
加载中...