【发布时间】:2015-04-29 23:08:55
【问题描述】:
我有一个容器(set、vector、vector 等,但实际上我有兴趣设置)其中每个元素都是 std::pair(例如,它也可能是 boost::tuple) ,有没有一种简单的方法可以用两种不同的字典顺序迭代这个容器?
即我的情况是:
std::set<std::pair<int,int> > a;
a.push_back(std::pair(1,3));
a.push_back(std::pair(2,3));
a.push_back(std::pair(4,2));
a.push_back(std::pair(5,2));
a.push_back(std::pair(1,5));
我希望能够以这种方式迭代集合(这是简单的部分):
(1,3)
(1,5)
(2,3)
(4,2)
(5,2)
另外一种方式,在pair上使用倒置的字典顺序:
(4,2)
(5,2)
(2,3)
(1,3)
(1,5)
【问题讨论】:
-
您可能对Boost.MultiIndex感兴趣。
标签: c++ iterator set containers