迭代算法相结合产生 [英] iterative algorithm for combination generation
本文介绍了迭代算法相结合产生的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:
<一href="http://stackoverflow.com/questions/127704/algorithm-to-return-all-combinations-of-k-elements-from-n">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;
}
}
这生成字典顺序组合。
这篇关于迭代算法相结合产生的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文