gpt4 book ai didi

c++ - STL 中 next_permutation 的 Python 实现

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

next_permutation 是一个 C++ 函数,它按字典顺序给出字符串的下一个排列。有关其实现的详细信息可以从这篇非常棒的帖子中获得。 http://wordaligned.org/articles/next-permutation

  1. 有人知道 Python 中的类似实现吗?
  2. STL 迭代器是否有直接的 Python 等价物?

最佳答案

  1. itertools.permutations很近;最大的区别是它将所有项目视为唯一而不是比较它们。它也不会就地修改序列。在 Python 中实现 std::next_permutation 对您来说可能是一个很好的练习(在列表上使用索引而不是随机访问迭代器)。

  2. 没有。 Python 迭代器与输入迭代器相当,后者属于 STL 类别,但只是冰山一角。您必须改用其他结构,例如输出迭代器的可调用结构。这打破了 C++ 迭代器良好的语法通用性。

关于c++ - STL 中 next_permutation 的 Python 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223349/

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