您的位置:首页 > 其它

数组生成的所有集合

2012-09-01 20:21 155 查看
/************************************************************************/

/* 数组生成的所有集合

                                                                     */

/************************************************************************/

#include<iostream>

#include<vector>

using namespace std;

vector<int> v;

void print()

{
for (vector<int>::iterator iter = v.begin(); iter != v.end(); iter++)
cout << *iter << " ";
cout <<endl;

}

//获取指定长度的数组生成的集合

void get_set(int array[], int start, int end, int number)

{
if (start >= end) return;
v.push_back(array[start]);
if (v.size() == number)
{
print();
v.pop_back();
get_set(array, start+1, end, number);
return;
}else if(v.size() < number)
{
get_set(array, start+1, end, number);
}
v.pop_back();
get_set(array, start+1, end, number);

}

//数组生成的所有集合

void get_all_set(int array[], int len)

{
for (int i = 0; i < len; i++)
get_set(array, 0, len, i+1);

}

int main()

{
int array[] = { 1, 2, 3, 4,5};
get_all_set(array, sizeof(array) / sizeof(int));
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iterator
相关文章推荐