uva 11462 更快的基数排序

来源:互联网 发布:数据库开发需要学什么 编辑:程序博客网 时间:2024/04/28 22:08
/***************** * Author:fisty * Data:2014-12-12 * uva11462 * 基数排序 * *****************/#include <cstdio>#include <algorithm>#include <cstring>#include <ctype.h>using namespace std;#define MAX_N 101int a,n;int c[MAX_N];inline int readint(){        char c = getchar();        int ok = 0;     //如果读入负数ok = 1        if(c == '-'){                ok = 1;                c = getchar();        }        while(!isdigit(c)){                //如果第一个是标点或者空格则继续输入                c = getchar();        }        int x = 0;        while(isdigit(c)){                x = x * 10 + c - '0';                      c = getchar();        }        if(ok) return -x;    //如果读入负数        return x;}char buf[10];inline int writerint(int i){        int p = 0;        if(i == 0) p++;        else while(i){                buf[p++] = i % 10;                i /= 10;        }               for(int j = p-1; j >= 0; j--) putchar('0' + buf[j]);}int main(){        while(n = readint()){                memset(c, 0, sizeof(c));                for(int i = 0;i < n; i++){                        c[readint()]++;                }                int first = 1;                for(int i = 0;i <= 100; i++){                        for(int j = 0;j < c[i]; j++){                                if(!first){                                        printf(" ");                                }                                first = 0;                                writerint(i);                        }                }                printf("\n");        }}

0 0