zoukankan      html  css  js  c++  java
  • [模板]基数排序

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <queue>
    #include <cmath>
    using namespace std;
    #define reg register
    inline int read() {
        int res = 0;char ch=getchar();bool fu=0;
        while(!isdigit(ch))fu|=(ch=='-'),ch=getchar();
        while(isdigit(ch)) res=(res<<3)+(res<<1)+(ch^48),ch=getchar();
        return fu?-res:res;
    }
    
    int n;
    int a[100005], tmp[100005];
    
    inline void Bsort() 
    {
        int mx = 0;
        for (reg int i = 1 ; i <= n ; i ++) mx = max(mx, a[i]);
        int dig = 0;
        while(mx) mx /= 10, dig++;
        int base = 1;
        while(dig--)
        {
            int buk[10] = {0};
            for (reg int i = 1 ; i <= n ; i ++) buk[a[i]/base%10]++;
            for (reg int i = 0 ; i < 9 ; i ++) buk[i + 1] += buk[i];
            for (reg int i = n ; i >= 1 ; i --) tmp[buk[a[i]/base%10]--] = a[i];
            for (reg int i = 1 ; i <= n ; i ++) a[i] = tmp[i];
            base *= 10;
        }
    }
    
    int main()
    {
        n = read();
        for (reg int i = 1 ; i <= n ; i ++) a[i] = read();
        Bsort();
        for (reg int i = 1 ; i <= n ; i ++) printf("%d ", a[i]);
        return 0;
    }
  • 相关阅读:
    11.1作业
    10.25作业
    10.18作业
    zancun
    10.11作业
    SQL日期格式,转自will哥
    转自pnljs 委托(Func<int,bool>)
    ORM即 对象-关系映射(转自:微冷的雨)
    跨域上传文件(还是没有明白)
    webSocket详解
  • 原文地址:https://www.cnblogs.com/BriMon/p/9843406.html
Copyright © 2011-2022 走看看