社区讨论

我的快排不够快吗?

灌水区参与者 10已保存回复 22

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
22 条
当前快照
1 份
快照标识符
@mi7yn4fz
此快照首次捕获于
2025/11/21 05:45
4 个月前
此快照最后确认于
2025/11/21 06:52
4 个月前
查看原帖

代码:

CPP
#include<bits/stdc++.h>//排序模板 
using namespace std;
int a[1000000],s[1000000],n,i,ans;
void ksort(int l,int r)//快速排序 
{
    int i=l,j=r,mid=a[(l+r)/2];
    while(i<=j){
        while(a[i]<mid)i++; while(a[j]>mid)j--;
        if(i<=j){swap(a[i],a[j]);i++;j--;}
        if(l<j)ksort(l,j); if(i<r)ksort(i,r);}
}
int main()
{
    cin>>n;
    for(i=1;i<=n;i++) cin>>a[i];
    ksort(1,n); 
    for(i=1;i<=n;i++) cout<<a[i]<<' ';
    return 0;
}
各位大佬帮我看看是不是我的快排时间复杂度太大了?

回复

22 条回复,欢迎继续交流。

正在加载回复...