#T1020. STL 函数使用 —— next_permutation()

STL 函数使用 —— next_permutation()

题目描述

next_permutation() 是 <algorithm> 里的排列函数:Transform range to next permutation——把区间 [first,last)[first, last) 中的元素重排成字典序下一个更大的排列并 返回 true;若当前已是最大排列,则重排回最小排列并返回 false。注意 STL 函数 都是左闭右开。

我们通过本题,掌握 next_permutation() 函数使用方法。

给一个长度为 nn 的互不相同整数的数列,按照字典序从小到大输出全排列。

输入格式

第一行一个整数 nn(1≤n≤91 \le n \le 9)。 第二行 nn 个互不相同的整数 aia_i(−10≤ai≤10-10 \le a_i \le 10)。

输出格式

输出包括 n!n! 行,按照字典序从小到大每行输出一个排列。

3
3 2 1
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
4
5 7 1 9
1 5 7 9
1 5 9 7
1 7 5 9
1 7 9 5
1 9 5 7
1 9 7 5
5 1 7 9
5 1 9 7
5 7 1 9
5 7 9 1
5 9 1 7
5 9 7 1
7 1 5 9
7 1 9 5
7 5 1 9
7 5 9 1
7 9 1 5
7 9 5 1
9 1 5 7
9 1 7 5
9 5 1 7
9 5 7 1
9 7 1 5
9 7 5 1