- 这个函数会改变原数组本身。
- 每执行一次就会返回当前字典序的下一个升序字典序。
- 所以如果想遍历所有排列的话数组需要初始化为最小字典序。
测试程序:
int num[10] = {1, 3, 2, 5, 4};
while(next_permutation(num, num+5)){
cout << "!!!!!" << endl;
for(int i = 0; i < 5; i++)
cout << num[i];
cout << endl;
}
for(int i = 0; i < 5; i++)
cout << num[i];
cout << endl;

本文介绍了一个函数next_permutation,它可以改变原数组并返回下一个字典序升序排列。通过将数组初始化为最小字典序,可以遍历所有可能的排列组合。
1857

被折叠的 条评论
为什么被折叠?



