非递归求集合的幂集
2016-10-06 16:42
155 查看
#include <iostream> using namespace std; void Output(unsigned a[],unsigned k,unsigned m,unsigned n) //k表示此次输出的个数,m表示从第几个开始输出 { for(unsigned j=k+m;j<n;j++) { cout<<"<"; unsigned t=a[j];a[j]=a[k+m];a[k+m]=t; for(unsigned i=m;i<=k+m;i++) cout<<a[i]; t=a[j];a[j]=a[k+m];a[k+m]=t; cout<<">"; } } void Powerset(unsigned a[],unsigned n) { cout<<"<>"; for(unsigned i=0;i<n;i++) cout<<"<"<<a[i]<<">"; for(unsigned i=1;i<n;i++) { for(unsigned j=0;j<=n;j++) { Output(a,i,j,n); } } } int main() { unsigned a[]={1,2,3,4,5,6}; Powerset(a,5); }
相关文章推荐
- C语言 回溯---转非递归---- 输出集合{1,2,...n}的幂集
- c++求集合的幂集-递归实现
- C++ 递归艺术----求任意集合的幂集组合和子集合的总个数
- 每日一省之———— 递归 + 回溯 求集合的幂集
- Java递归求某个集合的所有子集组成的集合,即幂集
- 递归求字母集合的子集C++
- 用递归方法求集合的子集
- 集合最大元问题(递归与分治)——算法设计与分析
- 利用泛型和反射.递归将数据集中的数据添加到集合中
- 经典递归算法之排列,组合,集合和换零钱, Python yield实现.
- 关于集合幂集问题的递归算法
- bzoj 3884 上帝与集合的正确用法(递归,欧拉函数)
- 递归求集合子集(两种方法实现(数组,链表))
- 9.9递归和动态规划(四)——返回某集合的全部子集
- 深度搜索(递归)的应用 求一个数组中和为某特定值的元素集合
- 程序员面试金典: 9.9 递归和动态规划 9.4求某集合的所有子集
- c++求集合幂集 源代码及算法优化
- 求集合的幂集
- 递归和循环两种方式实现未知维度集合的笛卡尔积
- 递归分治-求集合最大元