【发布时间】:2011-04-06 19:08:06
【问题描述】:
我有一组 stl 整数,我想遍历所有唯一的整数值对,其中唯一性我认为 val1,val2 和 val2,val1 是相同的,我应该只看到那个组合 一次。
我在 python 中使用列表(簇)的索引编写了这个:
for i in range(len(clusters) - 1):
for j in range(i+1,len(clusters)):
#Do something with clusters[i],clusters[j])
但如果没有索引,我不确定如何使用 stl 集和迭代器来实现相同的目标。我试过了:
for (set<int>::iterator itr = myset.begin(); itr != myset.end()-1; ++itr) {
cout << *itr;
}
但这会失败,因为迭代器没有 - 运算符。
我怎样才能做到这一点,或者我必须使用不同的容器?
【问题讨论】: