next_permutation 是一个 C++ 函数,它按字典顺序给出字符串的下一个排列。有关其实现的详细信息可以从这篇非常棒的帖子中获得。 http://wordaligned.org/articles/next-permutation
- 有人知道 Python 中的类似实现吗?
- STL 迭代器是否有直接的 Python 等价物?
最佳答案
itertools.permutations很近;最大的区别是它将所有项目视为唯一而不是比较它们。它也不会就地修改序列。在 Python 中实现 std::next_permutation 对您来说可能是一个很好的练习(在列表上使用索引而不是随机访问迭代器)。
没有。 Python 迭代器与输入迭代器相当,后者属于 STL 类别,但只是冰山一角。您必须改用其他结构,例如输出迭代器的可调用结构。这打破了 C++ 迭代器良好的语法通用性。
关于c++ - STL 中 next_permutation 的 Python 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223349/