This C++ program demonstrates the prev_permutation algorithm. The string is first sorted in reverse manner by passing the reverse iterators to the sort function and then permuted using prev_permutation. The prev_permutation takes iterators to the beginning and end of the string to be permuted and overwrites the value of the string with its previous lexicographic permutation. The function returns true if prev_permutation is available otherwise returns false.
Here is the source code of the C++ program which demonstrates the prev_permutation algorithm. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.
* C++ Program to demonstrate the prev_permutation() algorithm
std::cout << "Enter the string : ";
std::cin >> s;
std::cout << "Permutations of " << s << std::endl;
std::cout << s << "\t";
while (prev_permutation(s.begin(), s.end()));
Enter the string : ABCD
Permutations of DCBA
DCBA DCAB DBCA DBAC DACB DABC CDBA CDAB CBDA
CBAD CADB CABD BDCA BDAC BCDA BCAD BADC BACD
ADCB ADBC ACDB ACBD ABDC ABCD
Sanfoundry Global Education & Learning Series – 1000 C++ Programs.
If you wish to look at all C++ Programming examples, go to C++ Programs
- Get Free Certificate of Merit in C++ Programming
- Participate in C++ Programming Certification Contest
- Become a Top Ranker in C++ Programming
- Take C++ Programming Tests
- Chapterwise Practice Tests: Chapter 1,
- Chapterwise Mock Tests: Chapter 1,
, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry
. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms.
Stay connected with him at LinkedIn
Subscribe to his free Masterclasses at Youtube
& discussions at Telegram SanfoundryClasses