快速排序算法

来源:互联网 发布:免费普通话测试软件 编辑:程序博客网 时间:2024/06/05 19:30
#include <iostream>


using namespace std;
void Qsort(int a[],int low,int high)
{
    if(low>=high)
    {
        return;
    }
    int first=low;
    int last=high;
    int key=a[first];
    while(first<last)
    {
       while(first<last && a[last]>=key ) --last;
       a[first] =a[last];
       while(first<last && a[first]<=key) ++first;
       a[last]=a[first];
    }
    a[first]=key;
    Qsort(a,low,first-1);
    Qsort(a,last+1,high);
}
int main()
{
    int a[]={57,68,59,52,72,28,96,33,24};
    Qsort(a,0,sizeof(a)/sizeof(a[0]));
    for(int i=0;i<sizeof(a)/sizeof(a[0]);i++)
    {
        cout<<a[i]<<" ";
    }
    return 0;

}

//参考数据结构(严蔚敏,清华大学)p274

0 0
原创粉丝点击