输入一个字符串,要求输出字符串中字符所有的排列,例如输入"abc",得到"abc","acb","bca","bac","cab","cba"
2016-04-17 20:16
836 查看
#include<iostream> #include<vector> #include<string> using namespace std; vector<string> result; void permute(string& str, int depth, int n){ if(depth == n){ result.push_back(str); return ; } for(int i = depth; i< n; i++){ swap(str[depth],str[i]); permute(str, depth+1, n); swap(str[depth],str[i]); } } int main(){ string str; cin>>str; permute(str, 0, str.size()); for(int i = 0; i < result.size(); i++){ cout << result[i] << endl; } return 0; }
相关文章推荐
- Java基础--并发实用工具(4)
- MFC窗体中打开第三方exe程序到指定区域
- acm 2 1004 Toxophily
- ASP.NET网站设计学习篇一
- 每日笔记
- Problem 1012
- 大一
- Spring学习笔记-spring mvc框架
- hdu5666 Segment (俄罗斯乘法)
- 【转】Linux dialog详解(图形化shell)
- dom对象详解--document对象(三)
- 深入理解Java中的回调机制(最通俗易懂的回调机制的博客)
- Metal 着色语言编程指南 七
- 使用SocketChannel的NIO客户机服务器通信示例
- B树、B-树、B+树、B*树
- Java五
- 复习--3--对于第三堂课的总结--将两个页面相互用超链接链接到一起
- Linux网络协议栈之TCP send/recv
- 几个简单的算法实现(冒泡优化)
- uva1151