C++的代码性能优化
1.bool型数组和int型数组做判断的区别
经常有的需求就是,遍历图的节点,如果遍历过,就将 visit[curNode]置为1或者true。那么 bool 型数组和 int 型数组做判断的效果谁更好呢?
int visit[1001];//记录是否遍历过
bool visit[1001];//记录是否遍历过
- 使用
int型数组时 - 使用
bool型数组时
可以近似认为两者的效率没有差别
注意在使用bool型数组时,其填充函数为fill,如下所示:
fill(visit, visit+1001, false);//重置visit 所有城市未被遍历
戳这里,可以了解 fill 函数。
在使用int型数组时,其填充函数为memeset,如下所示:
memset(visit,0,sizeof(visit));
戳这里,可以了解 memset 函数。