快速排序

int a[1000];
void qs(int low,int high)
{
    int l=low,h=high,e=a[l];
    while(l<h)
    {
        while(l<h&&a[h]>=e) h--;
        if(l<h) a[l++]=a[h];
        while(l<h&&a[l]<=e) l++;
        if(l<h) a[h--]=a[l];
    }
    a[l]=e;
    if(l-1>low) qs(low,l-1);
    if(h+1<high) qs(h+1,high);
}
            

 

posted on 2013-02-27 16:30  dokc  阅读(120)  评论(0编辑  收藏  举报

导航