namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:prev_permutation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
kennen:lib:prev_permutation [2023-10-14 12:16] (aktuell) – [Ergebnis] rrichter
Zeile 1: Zeile 1:
 +====== prev_permutation() ======
 +''#include'' [[..:include:algorithm]]
 +
 +<code cpp>
 +bool prev_permutation (Bi first, Bi last) 
 +bool prev_permutation (Bi first, Bi last, binary comp) 
 + 
 +[last,B] = ranges::prev_permutation (Range r, Binary comp = {}, Proj proj = {}) 
 +[last,B] = ranges::prev_permutation (Bi first, Bi last, Binary comp = {}, Proj proj = {}) 
 +</code>
 +Erzeugt die vorhergehende Permutation des Bereiches [first,last). 
 +Die Menge aller Permutationen eines Bereiches 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 die höchste Permutation, 
 +eine absteigend geordnete Folge, ist das Ergebnis ''false''.
 +
 +==== Siehe auch ====
 +[[is_permutation]],
 +[[next_permutation]].
 +
 +==== Beispiel ====
 +<code cpp prev_permutation.cpp>
 +#include <algorithm>
 +#include <iostream>
 +#inlcude <string>
 +int main()
 +{
 +  std::string s = "Hallo";                  // niedrigste Permutation
 +  std::prev_permutation(begin(s), end(s));  // hoechste Permutation
 +  do
 +  {
 +    std::cout << s << '\n';                 // absteigend ausgeben 
 +  } while (std::prev_permutation(begin(s), end(s)));
 +}
 +</code>
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki