namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:prev_permutation

prev_permutation()

#include <algorithm>

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 = {}) 

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} mit true, wenn die neue Anordnung wieder ungeordnet ist. Entsteht die höchste Permutation, eine absteigend geordnete Folge, ist das Ergebnis false.

Siehe auch

Beispiel

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)));
}
kennen/lib/prev_permutation.txt · Zuletzt geändert: 2020-06-16 16:03 von rrichter