做题时,有时候会碰到需要列举一些数字所有排列方式的情况。这时候大家恐怕会无从下手,但如果使用next_permutation函数,就简单了。next_permutation函数在头文件中,作用是是生成给定序列的下一个较大排序,直到序列按降序排列为止。到这里还需要强调的一点是,如果你希望生成所有的排列方式,一定要先将序列按升序排列,这里可以与sort函数结合起来使用,先用sort升序排列,再调用next_permutation函数。

(图片来源网络,侵删)
具体怎么用,我们先看一个简单的示例:
# inClude # include using NAMEspace std; int main() { int a[] = { 3,1,2 }; sort(a, a + 3); //默认升序排列 do { for (int i = 0; i