C++全排列函数---next\prev_permutation()的应用及使用规则
其实全排列在c++中有标准库,直接调用就行,简直不能太爽! 头文件: #include <algorithm> 函数模板:next_permutation(arr, arr+size); 函数模板:prev_permutation(arr, arr+size); 解释:arr为数组,size为数组长度。 next_permutation(arr, arr+size) 当有下一个较大值返回1,否则返回0;输出所有比当前排列大的排列,顺序是从小到大。 prev_permutation(arr, arr+size) 当有上一个较小值返回1,否则返回0;输出所有比当前排列小的排列,顺序是从大到小。 例如:3 2 1,只有上一个较小值,没有下一个较大值。 1 2 3只有下一个较大值,没有上一个较小值。 2 1 3 的上一个较小值为 1 3 2,下一个较大值为 2 3 1.明白了吧!然后看下代码,怎么去用: # include <iostream> # include <algorithm> using namespace std ; int main ( ) { int arr2 [ ] = { 3 , 2 , 1 } ; cout << "用prev_permutation对3 2 1的全排列" << endl ; do { cout << arr2 [ 0 ] << ' ' <<