如何检查值是否在列表中

时间:2012-07-11 09:13:53

标签: c++ stl

我有list<pair<int,int>>的列表。如何检查x pair<int,int> x=make_pair(5,6)在列表l?

3 个答案:

答案 0 :(得分:18)

使用std::find

std::find(l.begin(), l.end(), x) != l.end()

答案 1 :(得分:4)

使用std::find

auto it = std::find(lst.begin(), lst.end(), x);
if ( it != lst.end() )
{
   //x found
}

答案 2 :(得分:3)

使用算法std::find()

std::list<std::pair<int, int>> my_list;
my_list.push_back(std::make_pair(1, 2));
my_list.push_back(std::make_pair(3, 2));

auto i = std::find(my_list.begin(), my_list.end(), std::make_pair(3, 2));
if (i != my_list.end())
{
    // Found it.
}