小编Roo*_*ict的帖子

部分排列

我有以下递归函数输出部分组合:

void comb(string sofar, string rest, int n) {

    string substring;

    if (n == 0)
        cout << sofar << endl;
    else {
        for (size_t i = 0; i < rest.length(); i++) {
            substring = rest.substr(i + 1, rest.length());
            comb(sofar + rest[i], substring, n - 1);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如此称呼:

comb("", "abcde", 3);
Run Code Online (Sandbox Code Playgroud)

通过部分组合,我的意思是它使用n个选项和r个元素(而不是n个选项,n个元素).

但是,我想考虑元素的顺序(即排列).我可以找到很多完全排列的算法,但不是部分的.

c++ permutation

5
推荐指数
2
解决办法
1147
查看次数

标签 统计

c++ ×1

permutation ×1