next_permutation 是一个 C++ 函数,它给出字符串按字典顺序排列的下一个排列。有关其实现的详细信息可以从这篇非常棒的文章中获得。http://wordaligned.org/articles/next-permutation http://wordaligned.org/articles/next-permutation
- 有谁知道Python中有类似的实现吗?
- STL 迭代器有直接的 Python 等效项吗?
itertools.排列 http://docs.python.org/library/itertools.html#itertools.permutations很接近;最大的区别是它将所有项目视为唯一而不是比较它们。它也不会就地修改序列。在 Python 中实现 std::next_permutation 对您来说可能是一个很好的练习(在列表上使用索引而不是随机访问迭代器)。
不。Python 迭代器与输入迭代器相当,后者属于 STL 类别,但只是冰山一角。您必须改为使用其他构造,例如输出迭代器的可调用结构。这破坏了 C++ 迭代器良好的语法通用性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)