快排为什么超时了
查看原帖
快排为什么超时了
1021623
AVLw楼主2023/9/14 00:02
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

void QuickSort(int q[], int l, int r) {
    if (l >= r)
        return;
    int x = q[l]; // 选择第一个元素作为枢纽元素
    int i = l - 1;
    int j = r + 1;
    while (i < j) {
        while (q[++i] < x);
        while (q[--j] > x);
        if (i < j)
            swap(q[i], q[j]);
    }
    QuickSort(q, l, j);
    QuickSort(q, j + 1, r);
}

const int N = 11111;

int main() {
    int a[N];
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    QuickSort(a, 0, n - 1);
    for (int i = 0; i < n; i++)
        printf("%d ", a[i]); 

    return 0;
}

2023/9/14 00:02
加载中...