迭代算法相结合产生算法、迭代

由网友(骂我可以,如果动手,请打我朋友。下面小编为喜欢玩映客直播的小)分享简介:可能重复: Algorithm返回k个元素的所有组合从n个 有没有迭代算法生成N个数采取R在时间的组合?Is there any iterative algorithm to generate combinations of N numbers taking 'r' at a time ?推荐答案是有的。...

可能重复:   Algorithm返回k个元素的所有组合从n个

有没有迭代算法生成N个数采取R在时间的组合?

Is there any iterative algorithm to generate combinations of N numbers taking 'r' at a time ?

推荐答案

是有的。

下面是从错误的答案图书馆 code

void generate_combos(int n, int k) {
    int com[100];
    for (int i = 0; i < k; i++) com[i] = i;
    while (com[k - 1] < n) {
        for (int i = 0; i < k; i++)
            cout << com[i] << " ";
        cout << endl;

        int t = k - 1;
        while (t != 0 && com[t] == n - k + t) t--;
        com[t]++;
        for (int i = t + 1; i < k; i++) com[i] = com[i - 1] + 1;
    }
}

这生成字典顺序组合。

阅读全文

相关推荐

最新文章