如何在表C ++中查找对象

时间:2017-12-06 16:22:51

标签: c++ c++11

我有一个在表中找到数字的函数:

int find(int arrf[], int len, int seek)
{
    for (int i = 0; i < len; ++i)
        if (arrf[i] == seek) 
            return i;
    return -1;
}

有更快的方法吗?

1 个答案:

答案 0 :(得分:0)

对于线性搜索,我们会想到两个优化:

  1. 构建一个使用SIMD指令同时进行多重比较的矢量化实现。
  2. 将搜索并行化为多个CPU。只有当搜索的数组足够大以保证多线程开销时才有意义。
  3. 英特尔{{3}}可以为您做两种优化。