kennen:lib:next_permutation
Inhaltsverzeichnis
next_permutation()
#include
<algorithm>
bool next_permutation (Bi first, Bi last) bool next_permutation (Bi first, Bi last, Binary comp) [last,B] = ranges::next_permutation (Range r, Binary comp = {}, Proj proj = {}) [last,B] = ranges::next_permutation (Bi first, Bi last, Binary comp = {}, Proj proj = {})
Erzeugt die nächste Permutation des Bereiches [first,last). Die Menge aller Permutationen ist lexikographisch aufsteigend geordnet.
Parameter
first | Anfang des Bereiches |
last | Ende des Bereiches |
comp | Vergleichskriterium (Vorgabe = less ) |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
Ergebnis
Rückgabewert: Boolescher Wert B bzw. {last,B}
als Struktur mit Elementen namens in, found
.
mit
true
, wenn die neue Anordnung wieder ungeordnet ist.
Entsteht dabei die niedrigste Permutation,
eine aufsteigend geordnete Folge, ist das Ergebnis false
.
Siehe auch
Beispiel
- next_permutation.cpp
#include <algorithm> #include <iostream> #include <string> int main() { std::string s = "Hallo"; // niedrigste Permutation do { std::cout << s << '\n'; // aufsteigend ausgeben } while (std::next_permutation(begin(s), end(s))); }
kennen/lib/next_permutation.txt · Zuletzt geändert: 2023-10-14 12:15 von rrichter