У меня есть набор целых чисел stl, и я хотел бы перебирать все уникальные пары целых значений, где по уникальности я рассматриваю val1, val2 и val2, val1 как такой же, и я должен видеть только эту комбинацию раз.Как получить уникальные пары значений из набора stl
Я написал это в Python, где я использовать индекс списка (кластеров):
for i in range(len(clusters) - 1):
for j in range(i+1,len(clusters)):
#Do something with clusters[i],clusters[j])
, но без индекса я не знаю, как я могу достичь того же с СТЛ набор и итераторы , Я опробовал:
for (set<int>::iterator itr = myset.begin(); itr != myset.end()-1; ++itr) {
cout << *itr;
}
но это не так, поскольку итератор не имеет оператора.
Как я могу достичь этого или использовать другой контейнер?
Хотя вопросник не говорит об этом в тексте, его код указывает, что он не хочет видеть пары, в которых значения равны. Поэтому, возможно, замените 'iter2! = Myset.end(); ++ iter2' с '++ iter2! = myset.end();' –
Извиняюсь, я неправильно понял, что вы сказали. Я действительно не хочу того же значения – zenna