题目描述
我们称nn的全排列为1,2,3...,n1,2,3...,n按照一定顺序组成的序列。比如33的所有全排列为:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
现在请你生成nn的所有全排列
输入格式
第一行一个整数nn
输出格式
输出所有nn的全排列,按照字典序从小到大输出。
字典序比较大小方法为从第一个数字开始比较,若不同则比较出来大小,否则接着比较第二位,直到比较出来大小位置。样例中就是按照字典序排序后的结果。
样例
样例输入
3
样例输出
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
数据范围与提示
1 <= n <= 8
这一题的话,创作者有两种方法,
首先就是传统的递归算法:
#include<iostream>
#include<algorithm>
using namespace std;
int a[10];//范围是1~8,所以不会有超过10的可能,作者曾试过9,猴年马月了还没算出来。
void P

本文介绍了如何使用C++生成整数n的所有全排列,详细解释了递归算法和简洁函数的方法,并给出了样例输入输出及数据范围提示。
最低0.47元/天 解锁文章
820

被折叠的 条评论
为什么被折叠?



