C++复习之STL(二)―关联式容器set和有序vector的使用选择问题(二)

2014-11-24 12:50:43 · 作者: · 浏览: 6
), end(), elem, pred);
return it == end() || pred(elem, *it) end() : it;
}
private:
std::vector sort_vect;
Pred pred;
};
测试代码如下,前面的性能比较代码段中修改即可:

sorted_vector sortVect(MAX_SIZE);
for (int i = 0; i < MAX_SIZE; ++i)
{
intSet.insert(i);
intVect.push_back(i); //这里由于插入的特殊性,intVect元素状态是“有序”的
sortVect.insert(i);

}
cout << *(sortVect.find(MAX_ELEMENT/2)) << endl;
DWORD st1, st2;
st1 = GetTickCount();
for (int i = 0; i < MAX_TIMES; ++i)
{
sortVect.find(MAX_ELEMENT);
sortVect.find(MAX_ELEMENT/2);
sortVect.find(MAX_ELEMENT/15);
}

cout << "sortVect.find(...):\t" << (st2 - st1) << "ms" << endl;
运行截图:

image