由于上篇博客中排序算法中的快速排序用到了递归这个概念,可能有挺多新手对于递归也只是听过,或者只是有些了解而已,那今天我就带你们来加深一下并举几个使用例子。
-
首先还是简单的阐述一下什么是递归?
这一点我记得非常清楚,当初老师对我说的是:“递归就是方法自己调自己!”
用现实的话来说:
你在1楼上了电梯,按下18楼,稍作等待,叮咚~18楼到了,你走出电梯,诶?怎么还是在1楼;
你又进了电梯,这次按下了17楼,稍作等待,叮咚 ~17楼到了,你走出电梯,诶?还是在1楼;
你再次进了电梯,这次按下了16楼,稍作等待,叮咚 ~16楼到了,你走出电梯,诶?还是在1楼;
不信邪的你还是一遍又一遍的重复着。。。
直到你把所有楼层都按了个遍,方才一拍脑门,电梯不行可以走楼梯嘛! -
没错,这种现实中被你称为“鬼打墙”的东西,在计算机逻辑中就是“递归”。
说了这么多,接下来我给大家出个很简单的需求,我想要输出1-100,,是不是很简单?方法也有不止一种:
- for循环
这可能是你最先想到的方法?
private void Start()
{
Test();
}
public void Test()
{
for (int i = 1; i <= 100; i++)
{
Debug.Log(i);
}
}
- while循环
有些人可能会用这个?
private void Start()
{
Test();
}
public void Test()
{
int i = 1;
while (i <=<