zoukankan      html  css  js  c++  java
  • 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,功能是求给定排列的下一个字典序更大的排列。

     

  • 相关阅读:
    将execel表格的数据导入到mysql数据库
    清明听雨
    h5调用底层接口的一些知识
    微信小程序从零开始开发步骤(一)搭建开发环境
    Matplotlib
    Numpy
    pandas
    6 MapReduce的理解
    静态链表
    单链表
  • 原文地址:https://www.cnblogs.com/cszlg/p/2975859.html
Copyright © 2011-2022 走看看