数组的组合数

来源:互联网 发布:优酷登陆数据连接失败 编辑:程序博客网 时间:2024/05/18 02:35
/***********************************************//**********功能:数组的组合数*****************************//**********时间:2015 3 13**************************//**********作者:xiaozhi xiong*****************//*************************************************/#include<iostream>#include"stdlib.h"#include <vector>using namespace std;vector <int> p;void Combanation(int a[],int len);/***********************************************//**********k个数的组合*****************************//**********input1:数组的头指针*****************//**********input2:进栈的指针位置*****************//**********input3:数组的长度*********************//**********input4:组合的组成位数*****************//**********返回:空*****************/void GetCombanationOfK(int a[],int i,int len,int k){int b;if(i>=len+1)return;if(k==-1){for(vector<int>::iterator m = p.begin(); m != p.end(); m++ )    //用迭代器的方式输出容器对象的值 {  printf("%d  ",*m); }printf("\n");}else{p.push_back(a[i]);GetCombanationOfK(a,i+1,len,k-1);p.pop_back();GetCombanationOfK(a,i+1,len,k);}}/***********************************************//**********数组的组合*****************************//**********input1:数组的头指针*****************//**********input2:数组的长度*****************//**********返回为空*****************************/void Combanation(int a[],int len){int i;for(i=0;i<len;i++){GetCombanationOfK(a,0,len,i);}}int main(void){int a[10]={1, 2, 3, 5, 4, 7};Combanation(a,6);system("pause");return 0;}

0 0
原创粉丝点击