C++语言之读入优化与输出优化
小标 2018-07-25 来源 : 阅读 2134 评论 0

摘要:本文主要向大家介绍了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+频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 3 不喜欢 | 3
看完这篇文章有何感觉?已经有6人表态,50%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程