递归算法是一种直接或者间接调用自身函数或者方法的算法。(自己调用自己)
递归的原则:
1、函数会一直调用自己,直到满足特定条件(递归要有一个结束条件);
1、函数会一直调用自己,直到满足特定条件(递归要有一个结束条件);
2、递归调用时会传递参数,每次调用都会将一个新的参数传递给自己。
例如:用递归算法算出1到100的和,代码如下:
1 public class Test 2 { 3 void Start() 4 { 5 int sum = AddNum(100); 6 print(sum);//sum=5050 7 } 8 9 //这个方法就是在不停的自己调用自己,一直到 n=1 时,再不停的把返回值返回到上一层,一直到最外层。 10 private int AddNum(int n) 11 { 12 if (n == 1) 13 { 14 return 1; 15 } 16 return n + AddNum(n - 1); 17 } 18 }