温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

递归,冒泡,阶乘的介绍

发布时间:2020-07-26 23:23:28 来源:网络 阅读:744 作者:尹帅 栏目:编程语言

递归,冒泡,阶乘 的介绍

一、递归


  1. 什么是递归?

   自身方法的调用,叫递归

2.  递归的特点?

   (1)递归方法一直会调用自己直到某些条件被满足

     (2)递归方法可有参数,而它会把一些新的参数值传递给自己


案例1:0, 1, 1, 2, 3, 5, 8.............30


        第一种递归呈现效果                  static void Main(string[] args)          ...{                 int[] num=new int[30];               num[0]=1;               num[1]=1;               int first=num[0];               int second=num[1];            for (int i = 2; i < num.Length; i++)               ...{                num[i] = first + second;                first = second;                second = num[i];               }               Console.WriteLine(num[29]);               Console.ReadLine();    }              第二种递归呈现效果                         //Main方法             static void Main(string[] args)                    ...{               Console.WriteLine(Process1(30));               Console.ReadLine();                 }                         //用于计算值的方法         public static int Process1(int i)           ...{              if (i == 0) return 0;              if (i == 1) return 1;              else             return Process1(i - 1) + Process1(i - 2);           }                    在Main方法中,调用这Fib方法进行测试,你会发现和上面实现的效果一样 !但是使用到递归性能要比第一种方法差



练习的题目:求 1 -2 +3 +-4+ 5- 6 + 7 - 8 + 9  的值




二 、 冒泡


  1. 什么是冒泡排序?

     每一次排序的过程中总有一个最大的值被移动到后面,值小的就像水泡一样浮到水面。

2.  冒泡排序的特点?

     常用于比较



案例:对3,1, 4, 2, 5 ,7 进行由小到大进行排序,比较


                int[] a={3,1,4,2,5};                 int length=a.length;             for (int i = 0; i < length; i++) {                      for (int j = 1; j < length-i; j++) {                      if(a[j-1]>a[j]){                      int temp=a[j];                      a[j]=a[j-1];                       a[j-1]=temp;              }          } }         for (int i = 0; i < a.length; i++) {              System.out.println(a[i]); }


练习的题目:将下这7个数由小到大排序

                      2, 4, 6, 7,9, 10,8




三、 阶乘


  1. 什么是阶乘?

    求数的乘积


  1. 阶乘的算法?

    如: 求5的阶乘

          5!=5 * 4 * 3 * 2 * 1

案例:

                public int digui(int i) {                      if(i>1){                       return i*digui(i-1);              }else{                           return i;              }         }             System.out.println("求5的阶乘:"+digui(5));



练习的题目: 求36的阶乘 

                       36!=1*2*3*……*34*35*36





向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI