由矢量大小排序的矢量集允许相同的大小

时间:2016-06-27 00:50:39

标签: c++ vector set compare

我有以下结构:

 auto comp = [](const vector<int>& a, const vector<int>& b) -> bool
    { return a.size() < b.size(); };
    auto path = std::set <vector<int>, decltype(comp)> (comp);

我现在通过

插入
path.insert(vector<int>{g.id(v)});

他插入大小1只有1,大小2只有1等。

我希望按照大小排序,但他应该比较矢量以避免重复。

1 个答案:

答案 0 :(得分:1)

我没有测试过这个,但请尝试以下方法:

auto comp = [](const vector<int>& a, const vector<int>& b) -> bool
{
     if (a.size() < b.size())
          return true;
     if (a.size() > b.size())
          return false;
     return a < b;
}