• next_permutation(,)用法


    生成n个数的全排列。

    比如初始序列为  1 2 3 4  则下一个序列为 1 2 4 3 按序生成。

    #include <algorithm>
    #include <iostream>
    #include <string.h>
    
    using namespace std;
    
    int main()
    {
        char a[3]={'a','b','c'};//第一个排列保证正序,有时候根据题目要求,需要对其进行排序处理。
        for(int i=1;i<=6;i++)//i为总共排列的个数  ,及 3!
        {
            for(int j=0;j<3;j++)
                cout<<a[j]<<" ";
            cout<<endl;
            next_permutation(a,a+3);//放在第一个排列的后边,输出第一个排列的下一个排列
    
        }
        cout<<"*******************"<<endl;
        int b[4]={0,1,2,3};
        for(int i=1;i<=6;i++)
        {
            for(int j=1;j<=3;j++)
                cout<<b[j]<<" ";
            cout<<endl;
            next_permutation(b+1,b+1+3);
        }
        cout<<"*******************"<<endl;
        int c[3]={1,2,3};
        for(int i=1;i<=6;i++)
        {
            for(int j=0;j<3;j++)
            cout<<c[j]<<" ";
            cout<<endl;
            next_permutation(c,c+3);
        }
        return 0;
    }


    运行:

  • 相关阅读:
    装饰器模式
    原型模式
    观察者模式
    Apollo 代码的编译演示
    Apollo 框架的剖析1
    gPRC学习笔记
    Docker入门
    ROS入门学习
    Mudo C++网络库第十一章学习笔记
    Mudo C++网络库第十章学习笔记
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697773.html
Copyright © 2020-2023  润新知