我正在编程c ++,我想这样做:
我的意见:
213
我想创建所有排列并生成最小数字。像:
123 -> lowest number
132
231
213
312
321
我可以使用next_permutation (std library)
,但是,这是最有效的方法吗?
答案 0 :(得分:0)
不像Kerrek SB说你可以对它进行排序并采取它(默认提升)。
std::vector<int> input = {
4, 3, 9, 1
};
std::sort(std::begin(input), std::end(input));
有关详细信息,请参阅:std::sort。如果你确实需要所有的排列,你可以在排序的输入上使用std::next_permutation
,它将永远是第一个。