常见递归1
斐波那契数列
int Fact(int n){
if(n==1){
return 1;}
else if(n ==0){
return 1;}
else{
return n*Fact(n-1);}
}
数字打印
int Print(int n){
if(n == 0){
return 0;
}
else {
System.out.println(n);
return Print(n-1);
}
}
汉诺塔
void TowersOfHanoi(int n, char frompeg, char topeg, char auxpeg){
if(n==1){
System.out.println("Move disk 1 from peg"+ frompeg + " to peg "+topeg);
return;
}
TowersOfHanoi(n-1,frompeg,auxpeg,topeg);
System.out.println("Move disk from peg"+ frompeg + "to peg"+ topeg);
TowersOfHanoi(n-1,auxpeg,topeg,frompeg);
}
判断数组中元素是否有序
int isArrayInSortedOrder(int[] A,int index){
if (A.length==1) {return 1;}
return (A[index-1] <= A[index-2])?0:isArrayInSortedOrder(A,index-1);
}