是指函数在运行过程中直接或间接调用自身而产生的现象.
数列就是最常见的递归现象。
如 a1 a2 a3 a4 a5 a6
1 2 6
an = a(n-1) + 1
比如要求 a6 根据公式 a6 = a5 + 1
要求a6 求a5 a5 = a4 + 1
要求a5 必先求a4 a4 = a3 + 1
直到最后求出 a1 = 1
然后还回 a2 然后 a3 然后 a4 然后 a5 然后 a6 得出结果
递归电脑计算时计算过程比较复杂,但是写的程序却很简单,比如这题
int Getan( int i){
if(i == 1) return 1;
return Getan(i-1) + 1; //这里每次递归(也就是调用自己(这里是调用Getan(i-1)))
// i会递减 , 所以最后 i总会等于1, 从而结束递归
}
/////////////////////////////////////////////
void show_number(char a,int number,int count){
if(count!=0){
for(int i(0);i!=3;++i){
递归的意思就是一个函数调用本身~就这么简单的~
例子:(输出二叉树的内容)
void OutBitree(Link btree)
{
if(!btree)
return ;
cout<
OutBitree(btree->rchild);
}
http://tieba.baidu.com/f?kz=537618251
自己调用自己
谓之 递归
最终的结果回溯
仅此