Uso da função next_permutation
next_permutation, chinês significa "próxima permutação", assim como seu nome, é usado para encontrar a próxima permutação. next_permutation () obterá a próxima permutação e combinação da sequência marcada por [primeiro, último) . Se não houver próxima permutação e combinação, ele retornará falso; caso contrário, ele retornará verdadeiro. Esta função está incluída no arquivo de cabeçalho "#include".
next_permutation(首指针,尾指针);
Exemplo: dada uma string, encontre a permutação lexicográfica desta string
#include <iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
string str;
cin>>str;
sort(str.begin(),str.end());
do{
cout<<str<<endl;
}while(next_permutation(str.begin(),str.end()));
return 0;
}
Observação: este exemplo precisa ser classificado por classificação. Caso contrário, apenas parte do arranjo será exibida. Os resultados são os seguintes
string str="bca";
do{
cout<<str<<endl;
}while(next_permutation(str.begin(),str.end()));