实现组合算法
来源:互联网 发布:三维激光扫描数据 编辑:程序博客网 时间:2024/06/05 07:08
#include <stack>#include<iostream>#include<vector>using namespace std;void cho(vector<char>&r, vector<char>&a, int n1, int n2, int m, vector<vector<char>>&b){if ((n2 - n1 + 1) < m)return;if (n2 - n1 + 1 == m){for (int i = n1; i <= n2; i++)r.push_back(a[i]);b.push_back(r);for (int i = n1; i <= n2; i++)r.pop_back();return;}if (m == 1){for (int i = n1; i <=n2; i++){r.push_back(a[i]);b.push_back(r);r.pop_back();}return;}r.push_back(a[n1]);cho(r, a, n1 + 1, n2, m - 1, b);r.pop_back();cho(r, a, n1 + 1, n2, m, b);}int main( ){vector<char>a;a.push_back('a');a.push_back('b');a.push_back('c');a.push_back('d');vector<vector<char>>b;vector<char>r;cho(r,a, 0,3, 3,b);for (vector<vector<char>>::iterator it = b.begin(); it != b.end(); it++){for (vector<char>::iterator itt = (*it).begin(); itt != (*it).end(); itt++){cout << *itt << " ";}cout << endl;}system("pause");return 0;}
阅读全文
0 0
- 组合数算法实现
- 组合算法的实现
- 组合算法的实现
- 组合算法-递归实现
- 组合算法实现
- 组合算法-C++实现
- 实现组合算法
- 一个组合算法及实现
- Java实现通用组合算法
- Java实现通用组合算法
- Java实现通用组合算法
- Java实现通用组合算法
- 高效全组合算法实现
- 组合问题的算法实现
- 实现组合的递归算法
- C语言实现排列/组合算法
- 排列组合之组合问题算法实现
- 排列与组合的算法实现
- R实战0:【R安装】Windows
- 三角形计数
- Java编程思想复用类
- Java-实现两个int类型变量值的交换,要求不使用中间变量
- java笔记(四)之循环练习
- 实现组合算法
- 并发实战——“JUC集合”之ArrayBlockingQueue
- CTO都需要会哪些技能?
- 找出01字符串中0和1连续出现的最大次数
- Servlet--获取http协议的请求体参数
- css选择器总结和三大特性
- python绘制caffe中网络模型
- HDU 4006 The kth great number
- 去除元素间距的解决方法