递归,冒泡,阶乘的介绍
递归,冒泡,阶乘 的介绍
一、递归
什么是递归?
自身方法的调用,叫递归
2. 递归的特点?
(1)递归方法一直会调用自己直到某些条件被满足
(2)递归方法可有参数,而它会把一些新的参数值传递给自己
案例1:0, 1, 1, 2, 3, 5, 8.............30
第一种递归呈现效果staticvoidMain(string[]args)...{int[]num=newint[30];num[0]=1;num[1]=1;intfirst=num[0];intsecond=num[1];for(inti=2;i<num.Length;i++)...{num[i]=first+second;first=second;second=num[i];}Console.WriteLine(num[29]);Console.ReadLine();}第二种递归呈现效果//Main方法staticvoidMain(string[]args)...{Console.WriteLine(Process1(30));Console.ReadLine();}//用于计算值的方法publicstaticintProcess1(inti)...{if(i==0)return0;if(i==1)return1;elsereturnProcess1(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};intlength=a.length;for(inti=0;i<length;i++){for(intj=1;j<length-i;j++){if(a[j-1]>a[j]){inttemp=a[j];a[j]=a[j-1];a[j-1]=temp;}}}for(inti=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
案例:
publicintdigui(inti){if(i>1){returni*digui(i-1);}else{returni;}}System.out.println("求5的阶乘:"+digui(5));
练习的题目: 求36的阶乘
36!=1*2*3*……*34*35*36
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。