namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:next_permutation

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} 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: 2020-06-16 16:02 von rrichter