在C++中使用STL进行数组的所有排列

给定一个数组, 任务是使用C ++中的STL打印或显示此数组的所有排列。
例子:

Input: a[] = {1, 2, 3}Output:123132213231312321Input: a[] = {10, 20, 30, 40}Output:102030401020403010302040103040201040203010403020201030402010403020301040203040102040103020403010301020403010402030201040302040103040102030402010401020304010302040201030402030104030102040302010

推荐:请尝试以下方法{IDE}首先, 在继续解决方案之前。方法:数组的下一个可能置换可以使用next_permutation()STL中提供的功能。
语法如下:
bool next_permutation (BidirectionalIterator first, BidirectionalIterator last);

下面是上述方法的实现:
// C++ program to display all permutations // of an array using STL in C++#include < bits/stdc++.h> using namespace std; // Function to display the array void display( int a[], int n) { for ( int i = 0; i < n; i++) { cout < < a[i] < < "" ; } cout < < endl; }// Function to find the permutations void findPermutations( int a[], int n) {// Sort the given array sort(a, a + n); // Find all possible permutations cout < < "Possible permutations are:\n" ; do { display(a, n); } while (next_permutation(a, a + n)); }// Driver code int main() {int a[] = { 10, 20, 30, 40 }; int n = sizeof (a) / sizeof (a[0]); findPermutations(a, n); return 0; }

输出如下:
Possible permutations are:102030401020403010302040103040201040203010403020201030402010403020301040203040102040103020403010301020403010402030201040302040103040102030402010401020304010302040201030402030104030102040302010

【在C++中使用STL进行数组的所有排列】被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C ++ STL通过激烈的问题解决过程来训练和掌握这些概念。

    推荐阅读