Permutation1
Progressively generates all the permutations of the given size.
Interface
#include <codecogs/maths/combinatorics/permutations/permutation1.h>
using namespace Maths::Combinatorics::Permutations;
Overview
This class progressively generates all the permutations of the given size, while also giving the possibility to return the rank and parity of the current permutation.
References
SUBSET, a C++ library of combinatorial routines, http://www.csit.fsu.edu/~burkardt/cpp_src/subset/subset.html
Example 1
#include <codecogs/maths/combinatorics/permutations/permutation1.h>
#include <iostream>
int main()
{
Maths::Combinatorics::Permutations::Permutation1 P(3);
std::cout << "The permutations of 3 elements:";
std::cout << std::endl;
for (int i = 0; i < 6; i++)
{
std::vector<int> alpha = P.getNext();
for (int j = 0; j < alpha.size(); j++)
std::cout << alpha[j] << " ";
if (P.isEven())
std::cout << "\tis even";
else
std::cout << "\tis odd";
std::cout << "\t rank = " << P.getRank();
std::cout << std::endl;
}
return 0;
}Output
The permutations of 3 elements:
1 2 3 is even rank = 1
2 1 3 is odd rank = 2
3 1 2 is even rank = 3
1 3 2 is odd rank = 4
2 3 1 is even rank = 5
3 2 1 is odd rank = 6Members of Permutation1
CLASS METHOD
Permutation1
This function's source code is only visible to registered users — documentation and the calculator above are free to use either way. Sign in to see it.
CLASS METHOD
getNext
This function's source code is only visible to registered users — documentation and the calculator above are free to use either way. Sign in to see it.
CLASS METHOD
getRank
This function's source code is only visible to registered users — documentation and the calculator above are free to use either way. Sign in to see it.
CLASS METHOD
isEven
This function's source code is only visible to registered users — documentation and the calculator above are free to use either way. Sign in to see it.
CLASS METHOD
init
This function's source code is only visible to registered users — documentation and the calculator above are free to use either way. Sign in to see it.