您好,登錄后才能下訂單哦!
遞歸,冒泡,階乘 的介紹
一、遞歸
什么是遞歸?
自身方法的調用,叫遞歸
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。