首页 > 其他 > 详细

next_permutation( ) 和prev_permutation( ) 全排列函数

时间:2017-07-20 19:37:25      阅读:277      评论:0      收藏:0      [点我收藏+]

头文件#include <algorithm>

两者都是用来计算排列组合的函数。前者是求出下一个排列组合,而后者是求出上一个排列组合。

所谓“下一个”和“上一个”,有一个例子;

对序列 {a, b, c}, a > b >c,它的下一个序列即为{a, c, b},而{a, c, b}的上一个序列即为{a, b, c},同理可以推出所有的六个序列为:{a, b, c}、{a, c, b}、{b, a, c}、{b, c, a}、{c, a, b}、{c, b, a},其中{a, b, c}没有上一个元素,{c, b, a}没有下一个元素

使用

next_permutation( (start,end );

用next_permutation和prev_permutation求排列组合很方便,但是要记得包含头文件#include <algorithm>。

 虽然最后一个排列没有下一个排列,用next_permutation会返回false,但是使用了这个方法后,序列会变成字典序列的第一个,

如cba变成abc。prev_permutation同理

next_permutation( ) 和prev_permutation( ) 全排列函数

原文:http://www.cnblogs.com/a2985812043/p/7213888.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!