gpt4 book ai didi

c++ - 如何迭代 unordered_set 中的无序对?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:23:39 25 4
gpt4 key购买 nike

unordered_set 中迭代无序元素对的简洁方法是什么?

(因此顺序无关紧要,元素应该不同)

e.g. {1, 2, 3} => (1, 2) (2, 3) (1, 3)

我最初的尝试是这样的

for (i = 0; i < size - 1; i++) {
for (j = i + 1; j < size; j++) {
...
}
}

但是对于迭代器来说这不是 super 方便。

最佳答案

这应该有效,给定一个 std::unordered_set s:

auto set_end = s.end();
for (auto ai = s.begin(); ai != set_end; ++ai) {
for (auto bi = std::next(ai); bi != set_end; ++bi) {
// *ai, *bi
}
}

这基本上是以下等价于整数的迭代器:

for (int i = 0; i < n; ++i) {
for (int j = i + 1; j < n; ++j) {
// i, j
}
}

关于c++ - 如何迭代 unordered_set 中的无序对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com