数据结构oj实验11二叉搜索树第11个测试点总是显示超时,改挺多地方都不行,最后发现是cin的问题。
查询资料发现,的确有些题同样的代码,用cout cin就会超时,而用printf scanf就可以通过。
原因在C语言网上查找到了:C++中的cout和cin并不是独立的,即在使用cout的时候,cin也会执行,反之亦然。 正是由于这种情况,当我们遇到数据集超大造成 cin 超时(TLE)的时候,我们可能会认为这是cin的效率不及scanf的原因。 其实是输入缓冲区,flush缓冲区,占用了时间。C语言网细讲