阅读827 返回首页    go 阿里云 go 技术社区[云栖]


生成字符串的全排列

 

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); } } 

最后更新:2017-04-02 06:51:23

  上一篇:go 数组与指针的艺术 第八章 柔性数组成员
  下一篇:go 安装SQL Server 2005 express没有权限,sa不能登录问题。