5
std :: next_permutation Objaśnienie implementacji
Byłem ciekawy, jak std:next_permutationzostał zaimplementowany, więc wyodrębniłem gnu libstdc++ 4.7wersję i wyczyściłem identyfikatory i formatowanie, aby utworzyć następujące demo ... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; It i = begin; ++i; if (i …