g*********s 发帖数: 1782 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: gandjmitbbs (Nothing), 信区: JobHunting
标 题: 一道C++ STL面试题
发信站: BBS 未名空间站 (Sat Dec 15 20:42:09 2007)
问以下代码如何提高效率。
vector x;
for (int i=0; i<1000; i++){
x.push_back(i);
}
改成这个?
x.resize(1000);
for (int i=0; i<1000; i++){
x[i]=i;
} |
k****f 发帖数: 3794 | 2 x.resize(1000);
int *p=&x[0];
for(int i=999;i>=0;i--)p[i]=i;
【在 g*********s 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: gandjmitbbs (Nothing), 信区: JobHunting : 标 题: 一道C++ STL面试题 : 发信站: BBS 未名空间站 (Sat Dec 15 20:42:09 2007) : 问以下代码如何提高效率。 : vector x; : for (int i=0; i<1000; i++){ : x.push_back(i); : } : 改成这个?
|
t****t 发帖数: 6806 | 3 为啥要写这么匪夷所思的东西
不能用x.reserve(1000)吗
【在 k****f 的大作中提到】 : x.resize(1000); : int *p=&x[0]; : for(int i=999;i>=0;i--)p[i]=i;
|
k****f 发帖数: 3794 | 4 为了速度吧
【在 t****t 的大作中提到】 : 为啥要写这么匪夷所思的东西 : 不能用x.reserve(1000)吗
|