四时宝库

程序员的知识宝库

一文看懂全排列算法(全排列算法流程图)

作者 | Cooper Song

责编 | 伍杏玲

所谓全排列,就是把一堆字符按照一定的顺序排列起来,所有可能的组合。

举个简单的例子,"123"的全排列为"123"、"132"、"213"、"231"、"312"、"321"。

使用库函数进行全排列

C++的<algorithm>头文件中实现了全排列,即next_permutation函数,它是基于字典序实现的,执行一次next_permutation函数就相当于进行了一次“变异”,变异之后字典序会比原来的字符串大,但其位次也仅仅排在变异之前的字符串之后。什么意思呢?比如"123"调用next_permutation函数经过一次变异之后会变成"132",而不是"213"、"321"等字典序更大的字符串。

<< < 1 2 3 4 >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接