用递归的方法来实现强大的全排列功能

上传人:宝路 文档编号:3148184 上传时间:2017-07-30 格式:DOC 页数:3 大小:152.50KB
返回 下载 相关 举报
用递归的方法来实现强大的全排列功能_第1页
第1页 / 共3页
用递归的方法来实现强大的全排列功能_第2页
第2页 / 共3页
用递归的方法来实现强大的全排列功能_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《用递归的方法来实现强大的全排列功能》由会员分享,可在线阅读,更多相关《用递归的方法来实现强大的全排列功能(3页珍藏版)》请在金锄头文库上搜索。

1、用递归的方法来实现强大的全排列功能输入一行字符串,然后将字符串中的所有字符进行全排列,然后按照从小到大的顺序输出,每个输出占一行。输入输出示例:输入数据:abc输出数据:abcacbbacbcacabcba分析:使用 string 来保存字符串,便于拆分和分割。使用 vector 来保存全排列的结果,便于操作和排序。用户输入一个字符串 str,程序的任务是对 str 求全排列,也就是求 str0strlength-1的全排列可以分为先求 str 的第一个字符 str0,然后求 str1strlength-1的全排列,然后将 str0分别插入到这些全排列的不同的位置中;然后求 str1strle

2、ngth-1的全排列,有可以分成先求 str1,然后求str2strlength-1的全排列,然后将 str1插入到不同的位置中;由此得到递归,求 strnstrlength-1的全排列,分为先求 strn-1strlength-1的全排列,然后将 strn分别插入到这个全排列的每个结果的所有的位置;当 n = length -1 的时候,找到递归的出口。通过递归获得 str 的全排列,然后通过 stl 中的 sort 函数,进行排序。程序代码:#include#include#includeusing namespace std;vector fun(string str)vector v;if(str.length()=1) /递归的出口v.push_back(str);return v;char c = str0;string x = str.substr(1);vector t = fun(x);for(int i=0;i v;v = fun(str);vector:iterator p;for(p=v.begin();p?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号