我想打印数组AAA
的所有排列。我无法弄清楚函数std::next_permutation
的第二个参数?
#include <algorithm>
char AAA[4][4] = {"abc","123","ABC"};
do
{
printf("%s %s %d\n",AAA[0],AAA[1],AAA[2]);
} while( std::next_permutation( AAA, ???? ));
应该是&AAA[3]
还是其他什么?
答案 0 :(得分:0)
这将是
while( std::next_permutation( std::begin(AAA), std::end(AAA)));
或(更有说服力的是,如果您知道AAA
有4
个元素)
while( std::next_permutation( AAA, AAA + 4));
AAA
可能最好是std::string
或std::vector<std::string>
的数组,但如果循环要遍历所有排列,则需要排序。
如果你std::cout
流输出而不是使用printf()
,那么它将使C ++人员更少一些。