任何人都可以用C ++代码帮助我,该代码打印出给定数字的所有可能排列。
例如,如果数字N = 123,则{123,132,213,231,312,321}是可能的排列。
我已经研究过,并且只能找到字符串而不是整数的代码。
谢谢。
答案 0 :(得分:3)
您可以使用:
void display_permutation(std::size_t n)
{
std::string s = std::to_string(n);
std::sort(s.begin(), s.end());
do {
std::cout << s << std::endl;
} while (std::next_permutation(s.begin(), s.end()));
}