固执,你测试一下告诉偶结果,假如你的strchr, strncpy库函数组合能及上我的一半,偶马上跟你学C++
strchr,strncpy都是C的东东,我也写个这个实现是C的,C++的在上面。如果你觉得你写的C比库函数快告诉写C compiler的人让他们换过来我自动就用到你的了。
http://myajax95./
固执,你测试一下告诉偶结果,假如你的strchr, strncpy库函数组合能及上我的一半,偶马上跟你学C++
strchr,strncpy都是C的东东,我也写个这个实现是C的,C++的在上面。如果你觉得你写的C比库函数快告诉写C compiler的人让他们换过来我自动就用到你的了。
快慢可能由空格数决定,也可能由中间不是空格的字符决定。这本身不是一个确定复杂度的问题呀。
能用已有的库函数的时候尽量用,当然用之前要对其试用方法,效率之类有一定了解。例如同样的算法如果在STL的container里面和algorithm里面都有,而你需要用这种container的话,就应该用这个container的算法,因为这个算法相对更具体于这种container的结构。最好还是看书领会吧,看看书上的习题是怎么写的,不要看语法解释部份的简单的用i,j之类的。最好看稍微长一点的例子,或大型一点的习题集。我现在在看的是<<C++ Programming Language>>的习题解答。书的第一页强调了这个问题。基本上像样点的书前10页都会说这个问题。具体什么时候用什么还是别看这的人怎么说了。看书按标准写法,照猫画虎练的一下就全体会了。能把<<C++ Programming Language>>的习题解答这本书全领会下来就肯定可以算C++一流高手了。
请教一下。remove_if在连续存储的内存里删除的效率高吗?或者说string()被remove_if时是怎么具体删没个空格的。如果是list之类的肯定应该是没问题的。
mm,说话要有根据,我这边测试的结果是牧羊的效率大概是ajax(c语言版)的1/3,也即是说ajax的速度是牧羊的3倍
,测试方法是计算占用cpu时间,字符串长度372,空格数77个,循环调用牧羊和ajax的c语言版函数5000次,ajax的函数用了32毫秒,牧羊的用了156毫秒,测试次数:6次
谁不信可以试试,不会相差太远