自输入的快速排序

#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;
}
全部评论

相关推荐

07-29 14:09
门头沟学院 Java
我爱o泡我爱o泡o泡果奶ooo
26加瓦鼠鼠:三个offer了,停手吧,回头是岸
点赞 评论 收藏
分享
07-15 00:33
江苏大学 Java
代码飞升:哈哈哈哈评论区三个打广告的
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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