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} 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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki