常用读入\输出优化

本文主要讲述常用的2种读入优化方法。
输出优化很少使用,在此简单提一下:也就是把输出的东西先放进字符串,再一次性puts\printf出去。提升不大,不常用。
首先当然需要先知道,scanf/printf比cin/cout快不少。
读入优化:

  1. getchar
    使用getchar一个一个读入字符,转化成数字。比scanf快一些。
    inline int read()
    {
        int f=1,x=0;//f是正负的标识
        char ch;
        do {
            ch=getchar();
            if(ch=='-')
                f=-1;
        } while(ch<'0'||ch>'9');
        do {
            x=x*10+ch-'0';
            ch=getchar();
        } while(ch>='0'&&ch<='9');
        return f*x;
    }

2.fread (非常快!)
fread将stdin里的内容读到字符串里,然后利用指针处理。
首先定义指针和读入的数组:

#define MAXB 10000000
//定义读入最长的长度
    char buf[MAXB],*cp=buf;

接下来是读入:

    fread(buf,1,MAXB,stdin);//函数具体参数含义请善用搜索引擎

最后是从中处理出数据(现在这个函数是为了处理int整型而设计)

    inline int read()
    {
        int f=1,x=0;
        while(*cp<'0'||*cp>'9') {
            if(*cp=='-')
                f=-1;
            cp++;
        }
        while(*cp>='0'&&*cp<='9') {
            x=x*10+*cp-'0'; 
            cp++;
        }
        return f*x;
    }
posted @ 2018-02-20 21:09  yyy2015c01  阅读(275)  评论(0编辑  收藏  举报

在寒风中颤抖之时、听到了歌声—— 在傍晚的校园里,在无人在的食堂里,在孤寂的校舍窗边。
三年前被冰封的那首歌曲。 被热情突然迫动,点缀着纯粹的思念,欺瞒的歌曲逐渐溶化在夜里。
那时,三人一起的冬天已经远去, 一个人和另一个人的季节却在循环往复。 后续,就在这样的晚秋。 那个时候似要撕裂的羁绊的丑陋伤痕尚未干却, 但是伴随着有什么将要改变的预感中,开始了。
寂寞的两首旋律,互相吸引而再伤害彼此, 因此,新的旋律被召集来了。
不久,新的冬天即将到来。 不能和那个人在一起、而另一个人也已不在的冬天。
“白色相簿”什么的,已经无所谓了。 因为已经不再有歌,值得去唱了。
传达不了的恋情,已经不需要了。 因为已经不再有人,值得去爱了。