189 8069 5689

递归,冒泡,阶乘的介绍-创新互联

递归,冒泡,阶乘 的介绍

成都网站设计、做网站的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。

一、递归


  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

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


分享标题:递归,冒泡,阶乘的介绍-创新互联
URL链接:http://cdxtjz.com/article/isogc.html

其他资讯