问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

函数的递归调用任何实现自循环?

发布网友 发布时间:2022-04-22 15:14

我来回答

1个回答

热心网友 时间:2023-08-24 13:07

递归和迭代都是循环的一种。

简单地说,递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。

 

递归循环中,遇到满足终止条件的情况时逐层返回来结束。迭代则使用计数器结束循环。当然很多情况都是多种循环混合采用,这要根据具体需求。

 

递归的例子,比如给定一个整数数组,采用折半查询返回指定值在数组中的索引,假设数组已排序,为方便描述,假设元素都为正数,数组长度为2的整数倍。

折半查询是查询的一种,比遍历所有元素要快很多。

int Find(int *ary,int index,int len,int value)
{
    if(len==1)//最后一个元素
    {
        if (ary[index]==value)return index;//成功查询返回索引
        return -1;//失败,返回-1
    }
    //如果长度大于1,进行折半递归查询
    int half=len/2;
    //检查被查值是否大于上半部分最后一个值,如果是则递归查询后半部分
    if(value>ary[index+half-1])
        return Find(ary,index+half,half,value);
    //否则递归查询上半部分
    return Find(ary,index,half,value);
}

 

 

迭代经典例子就是实数的累加,比如计算1-100所有实数的和。

int v=1;
for(i=2;i<=100;i++)
{
    v=v+i;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我网贷一万,手续费300,分24期,每期506.67,请问怎么计算月息,和年利率... 多普达手机铃音多普达手机铃声 【车载软件推荐】有车一族必备软件有哪些?好用的车主必备app 我画画时常被说我画画不动脑筋,弱弱的问一句,画画怎样动脑筋? 三星手机如何设置时间在桌面显示? 精确到十分位,要看小数点右边第一位 对吗 要把一个小数精确到十分位,就要看这个小数的( )A.十分位B.百分位C... 黑米算不算粗粮 存定期协议利率选是还是否? 同城上那些卖二手ndsi的是真的吗? 自循环冷水机? 如何讲解自循环雷诺实验仪更通俗? 新风自循环什么意思 米罗讲的客户自循环理论是怎么回事? 海水鱼缸可以自循环吗 讽刺自循环的成语。 &quot;循着歌声&quot;中的&quot;循&quot;的意思 什么是自然循环? &quot;揽镜自观&quot;出处? 企业自循环是什么? 李陵传的翻译? 汉字象征着什么,祥释“汉”的含意? 如何将古文改为现代文? 求日语高手翻一下miku 的歌 歌词 アストロノーツ不要翻译器 亦峰师兄扮演者 br.s与br.d各是什么峰 Raman谱图中D、 G是什么? 氧化石墨烯拉曼光谱峰值位置 氧化石墨烯拉曼光谱峰值位置 G峰和D峰什么意思 硬币自循环 矿泉水瓶做盐自循环 状况读音是什么 “情况”和“状况”有什么区别? 状况怎么拼音 “状况”是褒义词贬义词还是中性词 感受,类型,状况什么意思,,,,, 逾期多久会上门催收 一般信用卡逾期多久后会上门催收? 状态是什么意思 逾期多长时间贷款公司的人会找上门来催收款? 情况的拼音怎么写 状况的况的组词 信用卡逾期多久会被上门催款 “况味”是什么意思 催收部一般几天上门? 状况百出是什么意思 手机贷款逾期多少天才会上门催收? 情况拼音怎么写 什么情况???