从词法上讲C ++中的下一个排列
在这里,我们将看到如何在C++中按字典顺序生成字符串的下一个排列。从字典上讲,下一个排列基本上是较大的排列。例如,“ACB”的下一个将是“BAC”。在某些情况下,按字典顺序不存在下一个排列,例如“BBB”或“DCBA”等。
在C++中,我们可以使用称为next_permutation()的库函数来实现。它存在于算法头文件中。
示例
#include <iostream>
#include <algorithm>
using namespace std;
main() {
string s = "DBAC";
for(int i = 0; i<5; i++) {
bool val = next_permutation(s.begin(), s.end());
if (val == false) {
cout << "No next permutation" << endl;
break;
} else
cout << "Next: " << s << endl;
}
}输出结果
Next: DBCA Next: DCAB Next: DCBA No next permutation
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西