数组中数据查找,再次发问。。。。。???
有两个数组a,b
如果a数组有序,里面元素个数比较多,eg 有1w个数据
b数组也有序,里面元素相对较少,eg:100个数据
要实现下面这样的功能:
依次从b中取出数据b[i],然后在a数组中查找b[i]-10,b[i]+10区间中的数,怎样设计算法,才可以高效的执行。
[解决办法]
分块,多线程实现。。
一个块1000个数据,一个线程!!
[解决办法]
算法,用binary search找两次
推荐使用--std::equal_range,std::lower_bound, std::upper_bound
实现手法?直接看上述函数的source codes