#P0148. next_permutation(a.begin(), a.end())

next_permutation(a.begin(), a.end())

题目描述

next_permutation(a.begin(),a.end())next\_permutation(a.begin(), a.end()):按照字典序输出 aa 的全排列。

注意: 包含 #include <algorithm>

注意: 尝试改一下 aa 的元素顺序看看输出什么。

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
    int n = 0;
	cin >> n;
	vector<int> a;
	for(int i = 0; i < n; ++ i) a.push_back(i + 1);
	do
	{
		for(int i = 0; i < n; ++ i) cout << a[i] << ' ';
		
		cout << endl;
	}while(next_permutation(a.begin(), a.end()));
  
    return 0;
}

如果你会了请去这里

输入格式

11 行,为一个整数数 nn

输出格式

n!n! 行,输出 11 ~ nn 的全排列。

数据范围

1n10.1 ≤ n ≤ 10.

输入样例:

3

输出样例:

1 2 3 
1 3 2 
2 1 3 
2 3 1 
3 1 2 
3 2 1