用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

快速排序

2012-08-29 作者: 神马举报

[c++]代码库

#include <iostream>
#include <algorithm>
using namespace std;
 
const int size = 1000;
 
 
int partition ( int a[], int low, int high )
{
    //选择第一个a[low]作为划分的临界值
    while ( low < high )
    {
        while ( low < high && a[low] <= a[high] ) high--;
        swap ( a[low], a[high] );
        while ( low < high && a[low] <= a[high] ) low++;
        swap ( a[low], a[high] );
    }
    return low;
}
 
void Qsort ( int a[], int low, int high )
{
    if ( low > high ) return;
    int p = partition ( a, low, high );
    Qsort ( a, low, p-1 );
    Qsort ( a, p+1, high );
}
 
int main()
{
    int N, arr[size];
    int i;
    while ( cin >> N )
    {
        for ( i = 0; i < N; ++i )
            cin >> arr[i];
 
        Qsort ( arr, 0, N-1 );
 
        for ( i = 0; i < N-1; ++i )
            cout << arr[i] << " ";
        cout << arr[i] << endl;
 
    }
    return 0;
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...