递归函数
2016-03-22 19:32
169 查看
执行递归函数时,是一个递归下降又递归上升的过程。所以,它要有终止条件,要能结束函数。
递归函数有两个特点
1.要有终止条件
2.起码要有一个return语句,在达到终止条件后结束函数。
按终止条件的类型来分:
1.利用函数参数作为终止条件的递归函数
2.利用静态变量作为终止条件的递归函数
按return语句来划分:
1.有返回值的递归函数
在return语句里写递推公式。
2.没有返回值的递归函数
遇到终止条件时输入return;表示函数结束。
它的格式是:
中序遍历的递归算法
template <class DataType>
void BiTree<DataType>::InOrder(BiNode<dataType>* bt)
{
if(bt==null)
return;
else{
InOrder(bt->lchild);
cout<<bt->data;
InOrder(bt->rchild);
}
}
利用静态变量作为终止条件的递归函数
利用函数参数作为终止条件的递归函数
递归函数有两个特点
1.要有终止条件
2.起码要有一个return语句,在达到终止条件后结束函数。
按终止条件的类型来分:
1.利用函数参数作为终止条件的递归函数
2.利用静态变量作为终止条件的递归函数
按return语句来划分:
1.有返回值的递归函数
在return语句里写递推公式。
2.没有返回值的递归函数
遇到终止条件时输入return;表示函数结束。
它的格式是:
中序遍历的递归算法
template <class DataType>
void BiTree<DataType>::InOrder(BiNode<dataType>* bt)
{
if(bt==null)
return;
else{
InOrder(bt->lchild);
cout<<bt->data;
InOrder(bt->rchild);
}
}
利用静态变量作为终止条件的递归函数
利用函数参数作为终止条件的递归函数
相关文章推荐
- libcurl多线程超时设置不安全(转载)
- Android中打招呼
- S3C2440初上手各种问题
- iOSDay12之OC属性和点语法
- android 通过工具抓包
- 斐波那契数列
- .net发送邮件(转)
- opencv把一个图像copy到另一个图像中
- (北化OJ)线性表压缩
- 交叉验证(Cross-Validation)
- 学习总结 数据类型
- 1004
- CCMenu 的写法
- hive基本命令
- linux下用live555进行二次开发指南
- 第三次上机实践项目-项目 5-(4)-递归求最大公约数
- KMP---Count the string
- 下一个排列/上一个排列-----全排列
- 自定义Dialog
- 修改UILabel的行间距