重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
递归,冒泡,阶乘 的介绍
成都网站设计、做网站的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。一、递归
什么是递归?
自身方法的调用,叫递归
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 的值
二 、 冒泡
什么是冒泡排序?
每一次排序的过程中总有一个大的值被移动到后面,值小的就像水泡一样浮到水面。
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
三、 阶乘
什么是阶乘?
求数的乘积
阶乘的算法?
如: 求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级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。