已知字符串中的字符是互不相同,现在把他们任意排列,按照字典序输出所有的组合。
例如:已知字符串ab,则任意排列是aa,ab,ba,bb。
#include<iostream>
#include<vector>
using namespace std;
void PrintCombination1(vector<int> &vec, vector<int> &temp, vector<vector<int> > &res)
{
if(temp.size()==vec.size())
{
res.push_back(temp);
return;
}
for(int i=0; i<vec.size(); i++)
{
temp.push_back(vec[i]);
PrintCombination1(vec, temp, res);
temp.pop_back();
}
}
int main()
{
vector<int> vec;
vector<int> temp;
vector<vector<int> > res;
vec.push_back(1);
vec.push_back(2);
PrintCombination1(vec, temp, res);
for(int i=0; i<res.size(); i++)
{
for(int j=0; j<res[i].size(); j++)
{
cout<<res[i][j]<<" ";
}
cout<<endl;
}
return 0;
}