为STL编写算法函数

时间:2010-09-10 08:02:35

标签: c++ algorithm stl iterator

我的std::set类型为point

struct point
{
  int x;
  int y;
  int z;
};

假设我想对集合中的每个变量执行三种不同的操作,即

  • 从x变量中找出最小的数字。
  • 从y变量中获取缺少的元素 使用设定差异。
  • 获取所有z变量的产品。

此时,我应该按顺序使用三个预定义的算法函数,还是应该编写自己的算法,通过迭代一次来执行所有三个操作?

2 个答案:

答案 0 :(得分:8)

即使你的速度增加十倍,如果这段代码只占你应用程序时间的5%,你只需将执行时间减少到95%。因此,除非您知道这是您应用程序中的真正瓶颈,否则不要浪费时间尝试优化它。了解这一点的唯一方法是通过分析。

答案 1 :(得分:2)

开始按顺序使用3个功能。如果遇到性能问题,请尝试编写自己的算法。

  

过早优化是邪恶的。