快速排序:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/3491.html
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int a[900000];
void quicksort(int l,int r)
{
   if(l>r)return;
   int i = l;
   int j = r;
   int tmp = a[l];
   while(i<j){
     while(i<j&&a[j]>=tmp)j--;
     while(i<j&&a[i]<=tmp)i++;
     if(i<j)swap(a[i],a[j]);
   }
   swap(a[i],a[l]);
   quicksort(l,i-1);
   quicksort(i+1,r);
}
int main()
{
    int n;
    while(cin>>n)
    {
        for(int i=1; i<=n; i++)
        {
            cin>>a[i];
        }
        quicksort(1,n);
        int top = 1;
        for(int i=1; i<=n; i++)
        {
               if(top)top = 0;
            else cout<<" ";
            cout<<a[i];
        }
        cout<<endl;
    }
    return 0;
}一趟快排:
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int a[900000];
int top,n;
void quicksort(int l,int r)
{
   if(l>r)return;
   int i = l;
   int j = r;
   int tmp = a[l];
   while(i<j){
     while(i<j&&a[j]>=tmp)j--;
     a[i] = a[j];
     while(i<j&&a[i]<=tmp)i++;
     a[j] = a[i];
     //if(i<j)swap(a[i],a[j]);
   }
//   swap(a[i],a[l]);
    a[i] = tmp;
//     for(int i=1;i<=n;i++){
//        cout<<a[i]<<" ";
//    }
//    cout<<endl;
//   quicksort(l,i-1);
//   quicksort(i+1,r);
}
bool cmp(int l,int r){
   top++;
   if(top>=0){
    for(int i=1;i<=n;i++){
        cout<<a[i]<<" ";
    }
    cout<<endl;
   }
  // cout<<l<<" "<<r<<endl;
   return l<r;
}
int main()
{
  //  int n;
    while(cin>>n)
    {
        for(int i=1; i<=n; i++)
        {
            cin>>a[i];
        }
        quicksort(1,n);
//       sort(a+1,a+1+n,cmp);
        int ttop = 1;
        for(int i=1; i<=n; i++)
        {
               if(ttop)ttop = 0;
            else cout<<" ";
            cout<<a[i];
        }
        cout<<endl;
    }
    return 0;
}