在向量上的二进制排序

时间:2013-10-21 17:53:37

标签: c++ search

我正在按照以下方式对字符串向量进行排序,以便以后可以对其进行二进制搜索。

std::vector<std::string> vec;
...........
...........
std::sort(vec.begin(),vec.end());

现在我按照以下方式搜索。

if (!std::binary_search(vec.begin(), vec.end(), "SomeString"));
{
    //Not Found
}
else
{
    //Found
}

然而,似乎binary_search不起作用,并且它向向量中存在的“字符串”返回false。

我可能做错了什么?

1 个答案:

答案 0 :(得分:7)

看看这一行的最后一个字符:

if(!std::binary_search(vec.begin(),vec.end(),"SomeString"));

你在那里放错了;。取下它并再次测试。