c++快读快写

快读快写是利用 getchar()putchar()cincout 速度快的特点来对输入和输出进行优化

快读

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

不分类型的快读

template <typename T>
inline void read(T &x){
	x=0;T f=1;char ch=getchar();
	while(ch<48 || ch>57){if(ch=='-')f=0;ch=getchar();}
    while(ch>=48 && ch<=57) x=x*10+ch-48,ch=getchar();
    if(!f) x=-x;
}

快写

void write(int x){
    if(x<0){//判断负数
        x=-x;
        putchar('-');
    }
    if(x>9) write(x/10);//位值拆数,递归
    putchar(x%10+'0');//按位输出
}
posted @   「ycw123」  阅读(943)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示