• STL之next_permutation——求全排列


    next_permutation

    功能:将[first, last)范围内的排列重组为字典序更大的下一个新排列。permutation正是“排列”之意。

    调用形式:next_permutation(first, last),其中,first是指向排列头元素的指针,last是指向排列末元素再下一位的指针,两者给出排列范围:[first, last).

    函数所在头文件:<algorithm>

    例子:

     1 #include <iostream>
     2 #include <algorithm>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int a[3] = {1, 2, 3};
     8     cout << "关于数组a的所有3!种排列按字典序升序排列为:" << endl;
     9     do
    10     {
    11         cout << a[0] << ' ' << a[1] << ' ' << a[2] << endl;
    12     }while(next_permutation(a, a + 3));
    13     return 0;
    14 }

    运行结果:

    关于数组a的所有3!种排列按字典序升序排列为:
    1 2 3
    1 3 2
    2 1 3
    2 3 1
    3 1 2
    3 2 1

    类似函数:prev_permutation,功能是求给定排列的下一个字典序更大的排列。

     

  • 相关阅读:
    数据库设计三大范式
    MYSQL语句
    PHP数据库环境配置
    java空心菱形
    java基础练习2
    java基础练习
    java 控制台输入
    java 基础功能
    Java包装
    JS里的DOM操作注意点
  • 原文地址:https://www.cnblogs.com/cszlg/p/2975859.html
Copyright © 2020-2023  润新知