- //递归分析和使用、
- /*
- * 1.找到相似性
- * 2.设计出口
- *
- */
- import java.util.List;
- import java.util.Vector;
- public class test17 {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- // p(0, 10);
- // p1(0, 10);
- // System.out.println(sum(1, 100));
- // System.out.println(sum1(1, 100));
- // System.out.println(turn("abcdefg"));
- List<String> list=pl("abcd");
- for (int i = 0; i < list.size(); i++) {
- System.out.println(list.get(i));
- }
- }
- //1.简单的打印10个数字问题
- public static void p(int begin,int end) {
- System.out.println(begin);
- if (begin<end) { //出口
- p(begin+1, end);
- }
- }
- public static void p1(int begin,int end) {
- if (begin<end) { ////出口
- p1(begin, end-1);
- }
- System.out.println(end);
- }
- //2.简单的书累加问题
- public static int sum(int begin,int end ) {
- if (begin==end) { //出口
- return begin;
- }
- return(begin+sum(begin+1, end)); //累加后赋给begin
- }
- public static int sum1(int begin,int end) {
- if (begin==end) { //出口
- return end;
- }
- return (end+sum1(begin, end-1)); //累加后赋给begin
- }
- //3.字符串翻转问题
- public static String turn(String s) {
- //abcdefg
- if (s.length()<=1) {
- return s;
- }
- return (turn(s.substring(1))+s.charAt(0));
- }
- ///4.全排列问题
- public static List<String> pl(String s) {
- List<String> lst=new Vector<String>(); //初始化一个空链表
- // abc 解题思路: 1。先取出要排列串的第一个字符,
- // bac 2.剩下的字串再进行全排列
- // bca 3.将取出的字符插入到全排列后的字串中。
- // acb
- // cab
- // cba
- if (s.length()==1) { //如果要全排列的字符串只有一个字符,直接加入到已初始化的链表中,返回list
- lst.add(s);
- return lst;
- }
- //如果要排列的字符串长度大于1,取出该串的第一个字符,将字串再进行递归处理
- char a=s.charAt(0);
- String s1=s.substring(1);
- List<String> t=pl(s1); //递归进行字串的全排列
- for (int i = 0; i < t.size(); i++) {
- String string=(String)t.get(i);
- for (int j = 0; j <string.length()+1; j++) {
- lst.add(string.substring(0,j)+a+string.substring(j));
- }
- }
- return lst;
- }
- }
专注于为中小企业提供成都网站制作、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业通道免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
文章名称:递归调精析及例子
网页URL:https://www.cdcxhl.com/article42/jhihhc.html
成都网站建设公司_创新互联,为您提供虚拟主机、标签优化、电子商务、ChatGPT、移动网站建设、关键词优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联