摘要:本文主要向大家介绍了C++语言之读入优化与输出优化,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。
本文主要向大家介绍了C++语言之读入优化与输出优化,通过具体的内容向大家展示,希望对大家学习C++语言有所帮助。
C++是一门神奇的学科。。。
在读入/输出时,我们经常用到:
scanf , cin , printf , cout
但是,在算法竞赛中,我们奉行一个原则:
效率第一!
于是,便产生了各种各样的奇技淫巧。。。
下面的读入与输出优化就是其中之一。
读入优化:
C++自带的 scanf 已经很快了,但是100W的数据要0.6~0.8s,很明显,还是慢了。
为什么?因为 scanf 带了许多厉害但是我们不需要的的特判。
于是,读入优化破壳而出:
inline int read(){
int date=0,w=1;char c=0;
while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}
return date*w;
}
调用时,只需要:
int x;
x=read();
即可。
效率超级高!
输出优化:
有读入优化,就有输出优化:
inline void write(int x){
if(x<0){putchar('-');x=-x;}
if(x>9)write(x/10);
putchar(x%10+'0');
}
调用时,只要:
int x=10;
write(x);
即可。
时间大幅降低!
总结:
C++中还有各种各样的奇技淫巧,比如什么:
inline , register等。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号