У меня есть набор целых чисел 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;
}
, но это не удалось, поскольку у итератора нет оператора -.
Как мне этого добиться или я должен использовать другой контейнер?