Generate Permutations for a Given Set of Numbers

Generate Permutations for a Given Set of Numbers

There may come a time when you need to generate the permutations of a given set of variables at hand, all of them belonging to the same type.

The C++ STL library?algorithm provides a rich set of functions that you can use without reinventing the wheel. And one of them is the next_permutation function.

Here is some sample code that uses next_permutation:

#include <algorithm>#include #include #include using namespace std;int main(void) { 	vector v;	v.push_back(1);	v.push_back(2);	v.push_back(3);  // Initialize all elements of a vector	while (next_permutation(v.begin(), v.end() ) ) {                     // Loop until all permutations are generated.		copy(v.begin(), v.end(), ostream_iterator(cout, ""));		cout << endl;	}	return 0;}                     --   Code To Generate Permutations of a 3 digit number '123' --

The above code generates the permutation for a 3 digit number 123. It generates all possible permutations of the given vector, except one, the one that happens to be the original pattern itself. The output of the above code, generating permutations for a set of numbers 1, 2, and 3 is given as follows:

Output: 132213231312321

This code has been compiled on the major development platforms, namely GCC 3.2.3 on Linux, GCC 3.2 on Solaris, and MS VC++ 6.0?it was found to be working fine.

See also  How to Avoid Money Transfer Scams  

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist