C++中读入数据有许多函数,如scanf、cin,那么如何提高读入和输出的效率呢?
1、读入优化
下面是正负数读入优化模板1:
#include<cctype>
inline int read()
{
int X=0,f=0; char ch=0;
while(!isdigit(ch)) {f|=ch=='-';ch=getchar();}
while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
return f?-X:X;
}//isdigit(x) 表示 x 是否是 0 ~ 9 的整数,是则返回 true ,不是则是 false 。
读入优化模板2:
inline int read()
{
int X=0,f=0; char ch=0;
while(ch<'0'||ch>'9') {f|=ch=='-';ch=getchar();}
while(ch>