首页 > 其他 > 详细

快速读写相关

时间:2020-05-28 17:49:12      阅读:41      评论:0      收藏:0      [点我收藏+]

快速读入

最基础版本,主要思想是一个一个读入

int read()
{
    int s=1,a=0;
    char c=getchar();
    while(!isdigit(c))
    {
        if(c==‘-‘) s=-s;
        c=getchar();
    }
    while(isdigit(c))
    {
        a=a*10+c-‘0‘;
        c=getchar();
    }
    return s*a;
}//v1

这个版本很好理解,可以加上inline快一点

inline int read()
{
    int s=1,a=0;
    char c=getchar();
    while(!isdigit(c))
    {
        if(c==‘-‘) s=-s;
        c=getchar();
    }
    while(isdigit(c))
    {
        a=a*10+c-‘0‘;
        c=getchar();
    }
    return s*a;
}//v2

最后加上位运算以及手写isdigit函数

inline int read()
{
    int s=1,a=0;
    char c=getchar();
    while(c<‘0‘||c>‘9‘)
    {
        if(c==‘-‘) s=-s;
        c=getchar();
    }
    while(c>=‘0‘&&c<=‘9‘)
    {
        a=(a<<1)+(a<<3)+(ch^48);
        c=getchar();
    }
    return s*a;
}//v3

快速读写相关

原文:https://www.cnblogs.com/huaruoji/p/12981795.html

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