zoukankan      html  css  js  c++  java
  • 1103-全排列

    描述

    全排列的生成就是对于给定的字符集或数集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。对给定的字符集中的字符规定一个先后关系,在此基础上规定两个全排列的先后是从左到右逐个比较对应的字符的先后,或根据给定的数集中的大小关系,规定两个全排列的先后是从左到右逐个比较对应的数的大小,即依照字典序给出全排列。例如字符集{1,2,3},较小的数字较先,这样按字典序生成的全排列是:

    1 2 3

    1 3 2

    2 1 3

    2 3 1

    3 1 2

    3 2 1

    给定n个整数,现请编程求它们所有的全排列。

    输入

    输入包括两个行,第一行给出正整数n( 0 < n <=8), 第二个是 n个整数(大小范围:[-10^4, 10^4])。

    输出

    按字典序输出这n个整数的全排列,每一行给出一个全排列。

    样例输入

    3

    1 23 88

    样例输出

    1 23 88

    1 88 23

    23 1 88

    23 88 1

    88 1 23

    88 23 1

    #include <iostream>
    #include <algorithm>
    #define N 8
    using namespace std;
    int main () 
    {  
        int a[N];
        int n;
        cin>>n;
        for(int i=0;i<n;i++)
            cin>>a[i];
        sort(a,a+n);
        do 
        {    
            for(int j=0;j<n-1;j++)
                cout<<a[j]<<" ";
            cout<<a[n-1]<<endl;
        }while(next_permutation (a,a+n));
        return 0;
    } 
    

      

  • 相关阅读:
    正则表达式
    虚拟机winXP试用期已过无法激活问题解决
    model.addattribute()的作用
    model.addAttribute() return @ResponseBody $ajax success data的关系
    bootStrap的使用
    【navicat】navicat导入导出数据库步骤
    【对比】mysql 与 oracle 区别
    oracle错误
    【备忘】船舶的几个吨位概念
    0731
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436916.html
Copyright © 2011-2022 走看看