C++的代码性能优化

1.bool型数组和int型数组做判断的区别

经常有的需求就是,遍历图的节点,如果遍历过,就将 visit[curNode]置为1或者true。那么 bool 型数组和 int 型数组做判断的效果谁更好呢?

int visit[1001];//记录是否遍历过
bool visit[1001];//记录是否遍历过
  • 使用int型数组时
    C++ 代码的性能优化
  • 使用bool型数组时
    C++ 代码的性能优化

可以近似认为两者的效率没有差别
注意在使用bool型数组时,其填充函数为fill,如下所示:

fill(visit, visit+1001, false);//重置visit 所有城市未被遍历

戳这里,可以了解 fill 函数。
在使用int型数组时,其填充函数为memeset,如下所示:

memset(visit,0,sizeof(visit));

戳这里,可以了解 memset 函数。

相关文章: