首页 > 编程语言 > 详细

快速排序

时间:2017-10-26 17:23:35      阅读:254      评论:0      收藏:0      [点我收藏+]

代码:

#include<stdio.h>
#include<string.h>

void quick(int a[],int l,int r){
    int i,j,temp;
    i=l;
    j=r;
    if(l<r){
        temp = a[l];
        while(i!=j){
            while(j>i&&a[j]>temp){
                --j;
            }
            if(i<j){
                a[i]=a[j];
                i++;
            }

            while(j>i&&a[i]<temp){
                i++;
            }
            if(i<j){
                a[j]=a[i];
                j--;
            }
        }
        a[i]=temp;
        quick(a,l,i-1);
        quick(a,i+1,r);
    }

}
int main()
{
    int a[10] = {5,9,90,98,3,3,5,2,1,0};

    int i;
    quick(a,0,9);
    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }
}

运行结果:

技术分享

 

快速排序

原文:http://www.cnblogs.com/ncuhwxiong/p/7737801.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!