一.题目描述
【问题描述】对n个整数进行全排列
【输入形式】在屏幕上输入若干个整数,各数间都以一个空格分隔。
【输出形式】按照顺序每行输出一种排列方式
【样例输入】
1 2 3
【样例输出】
1 2 3
1 3 2
2 1 3
2 3 1
3 2 1
3 1 2
二.算法思路
Perm(list,k,m)递归产生所有前缀为list[0:k-1]且后缀是list[k:m]的全排列。当k<m时算法将list[k:m]中的每个元素分别与list[k]中的元素交换,然后递归地计算list[k+1,m]的全排列并将其计算结果作为list[0:k]的后缀 。
三.源代码
#include<bits/stdc++.h>
using namespace std;
void Perm(vector<int