快速排序(C语言实现)

以前使用RM时,ruby脚本提供一个sort函数,可以把数组进行排序,后来得知采用的算法是快速排序。
随着数据结构课程的学习,
快速排序如今也不再神秘,
代码如下

#include 
using namespace std;
void Quicksort(int a[],int low,int high)
{
    if(low>=high)
    {
        return;
    }
    int first=low;
    int last=high;
    int key=a[first];
    while(first!=last)
    {

        while(firstand a[first]first++;
        while(last>low and a[last]>key)
            last--;
        if(first<last)
        {
            int temp = a[first];
            a[first] = a[last];
            a[last] = temp;

        }
    }
    a[first]=key;
    Quicksort(a,low,first-1);
    Quicksort(a,last+1,high);
}


int main()
{
    int i,a[100],x,n=0;
    cin>>n;
    for(i=0; i>a[i];
    Quicksort(a,0,n-1);
    for(i=0; i<=n-1; i++)
        cout<" ";
    cout<    return 0;
}

你可能感兴趣的:(算法学习)