已知字符串中的字符是互不相同,现在把他们任意排列,按照字典序输出所有的组合。
例如:已知字符串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; }