生成字符串的全排列

 

void permute(string s) { sort(s.begin(),s.end()); cout<<s<<endl; while(next_permutation(s.begin(),s.end())) cout<<s<<endl; } 

 

上面的是标准库的迭代版本。

下面的是递归版本

void permute(string s,unsigned k) { if (k == s.length()-1) { cout<<s<<endl; } for (unsigned i = k;i<s.length();++i) { swap(s[i],s[k]); permute(s,k+1); } } 

上一篇:VC++中的Dlg,App,Doc,view


下一篇:Silverlight for Windows Phone 7开发系列(1):环境搭建