实现vector容器中数据的全排列和组合。
全排列是指所有元素的组合种类,比如某数组中有元素为1,2,3三个元素,那么这个数组的全排列是
1,2,3
1,3,2
2,1,3
2,3,1
3,2,1
3,1,2
而1,2,3的组合则有
1,2,3
1,2
1,3
1,
2,3
2,
3
为此,用递归实现了两个函数getPermutation()和getCombine()函数分别来实现这样的算法,代码如下:
# include <iostream>
# include <vector>
using namespace std;
void getPermutation(vector<int> &nums, vector<vector<int> > &ans, int begin, int end)
{
if (nums.empty())