Question: C++ Generating permutations DESCRIPTION Write a C++ program implemented in a single source file named permutations.cpp that uses two decrease- and-conquer algorithms for generating permutations.
C++ Generating permutations

DESCRIPTION Write a C++ program implemented in a single source file named permutations.cpp that uses two decrease- and-conquer algorithms for generating permutations. The two algorithms are Johnson Trotter and Lexicographic Permute. The pseudocode forthese algorithms are provided in this assignment. Each permutation should be printed to the screen in the specific way as the example output at the bottom of this assignment. OHNSON TROTTER : ALGORITHM JoHNSONTROTTER(n) 2: Johnson-Trotter Algorithm for generating permutations 3: 4: // Output List of all permutations of {1..m) Input A positive integer n 6: while P contains a mobile element do 7: Find the largest mobile element k swap k with its adjacent element that k's arrow points to reverse the arrow of all elements larger than k add P to the list of permutations 9: 10: 11 end while 12: end ALGORITHM LEXICOGRAPHIC PERMUTE 1: ALGORITHM LEXICOGRAPHICPERMUTE n) 2: 2: A Lexicographic algorithm for generating permutations Input: A positive integer //Output: List of all permutatons of.... n] in lex order while P contains two consecutive elements in increasing order do 5: let i be the largest index such that P[] i be the largestindex such that P[] i be the largestindex such that P[]
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
