码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-07-20 19:49:52      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:algo   没有   pre   函数   一个   abc   例子   tar   ext   

头文件#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( ) 全排列函数

标签:algo   没有   pre   函数   一个   abc   例子   tar   ext   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!