自输入的快速排序

#include <stdio.h>

int partition(int a[],int left,int right){
    int pivot=a[left];
    while(left<right){
        while(left<right&amp;&amp;a[right]>=pivot){
            right--;
        }
        a[left]=a[right];
        while(left<right&amp;&amp;a[left]<=pivot){
            left++;
        }
        a[right]=a[left];
    }
    a[left]=pivot;
    return left;
}

void QuickSort(int a[],int left,int right){
    if(left<right){
        int pivotpos=partition(a,left,right);
        QuickSort(a,left,pivotpos-1);
        QuickSort(a,pivotpos+1,right);
    }
}

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

    return 0;
}
全部评论

相关推荐

2025-12-22 15:25
南京工业大学 运营
点赞 评论 收藏
分享
2025-11-26 17:03
浙江理工大学 Java
程序员流年:真的别再用外卖+点评了。真的找小厂也费劲,如果你碰壁了可以看我主页,换个好项目,再去试试,给自己找找亮点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务