【发布时间】:2020-08-18 21:00:02
【问题描述】:
我正在编写一个程序,我需要对人员列表进行洗牌并将他们链接到列表中的另一个人。但问题在于奇数,因为可以将 1 个人与他们自己联系起来。 (我让这不可能,所以什么都没有发生。)
例如,如果有 3 个人分别称为“Bill”、“John”和“Jonas”。如果“Bill”得到“Jonas”而“Jonas”得到“Bill”,那么“John”将与“John”相关联,但我让这成为不可能(为了得到他们自己)所以什么都没有发生。
有谁知道我该如何解决这个问题?
【问题讨论】:
-
偶数人不也面临这个问题吗?另外,请显示您编写的导致此问题的代码。
-
也许你想使用 std::shuffle()