首页 > 编程语言 > 详细

常用算法模板

时间:2018-10-26 23:09:39      阅读:178      评论:0      收藏:0      [点我收藏+]

开始存模板

 

 

快速排序

技术分享图片
#include <cstdio>
#include <algorithm>
#include <iostream>

using namespace std ; 
typedef long long ll ; 
const int maxN = 100010 ; 

int a[ maxN ] ; 

inline ll INPUT ( ) {
    ll x=0,f=1;char ch=getchar();
    while(ch<0||ch>9){if(x==-)f=-1;ch=getchar();}
    while(ch>=0&&ch<=9){x=(x<<1)+(x<<3)+ch-0;ch=getchar();}
    return x*f;
} 

void quick_sort ( const int l , const int r ) {
    if ( l > r ) {
        return ; ;
    }
    int i = l , j = r ; 
    while ( i < j ) {
        while ( a[ j ] >= a[ l ] && j > i ) {
            --j ; 
        }
        while ( a[ i ] <= a[ l ] && j > i ) {
            ++i ; 
        }
        if ( j > i )
            swap ( a[ i ] , a[ j ] ) ; 
    }
    swap ( a[ l ] , a[ i ] ) ;
    quick_sort ( l , i - 1 ) ;
    quick_sort ( i + 1 , r ) ; 
}

int main ( ) {
    int N = INPUT( ) ;
    for ( int i=1 ; i<=N ; ++i ) {
        a[ i ] = INPUT( ) ; 
    }
    quick_sort ( 1 , N ) ; 
    for ( int i=1 ; i<=N ; ++i ) {
        cout << a[ i ] << endl ; 
    }
    return 0 ; 
}
View Code

 

常用算法模板

原文:https://www.cnblogs.com/shadowland/p/9859099.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!