错误方法:用“return值”退出循环。

由于递归的调用是层层嵌套的,所以用return返回时需要一层一层逐级向上返回。换句话说,在return之后,只能确保截断当前层的循环,不能终止递归循环。因主它返回到上一层之后还要在上一层上沿其它“分枝”(树的节点)继续往下递归。

示例:

//功能:数组元素全排列

//参数pre:数组型,初始为空,用来存放结果

//参数nex:数组型,初始为原始数组

function arr_all(pre:Array,nex:Array) {

varj:uint=nex.length;

if (j==1) {//满足设定的条件后,

var t=[];

for (vari:uint=0; i

t.push(pre[i]);

}

t.push(nex[0]);

returninfo.appendText("\n"+pc(t));//用return阻止并返回一个值,但所谓的阻止只是截断了当前的层返回了上层。问题是:返回上层后,递归还在继续进行,没有及时退出循环并进入主程序。这不是我们想要的…………………

}

for (var k:uint=0;k

varp:Array=pre.slice();

vars:Array=nex.slice();

p.push(s.splice(k,1));

arr_all(p,s);//递归…………………

}

}

运行结果:图1

递归函数为我们找到了所有的符合条件的结论。而我们只需要第一个,找到了就退出递归。看来,return只是返回了当前循环层的值并往上一层返回。并没有终止递归继教。所以这个方法是错误的。

pythonbreak可以跳出递归吗_怎样强制退出递归函数相关推荐

  1. java 跳出递归_java中途强制跳出递归

    请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. 有些时候我们需要在中途强制跳出递归,而且还是需要一步跳出,而不一层一层的跳出,这时,我们可以采用抛异常的方法来实现. class Test { ...

  2. java跳出递归_在Java项目中如何跳出递归循环

    在Java项目中如何跳出递归循环 发布时间:2020-11-25 17:16:07 来源:亿速云 阅读:114 作者:Leah 今天就跟大家聊聊有关在Java项目中如何跳出递归循环,可能很多人都不太了 ...

  3. 多重递归强制退出办法 -以下简称办法

    办法 深层递归函数return之后仍在执行递归的上一层,需要层层阻断,栈的问题,常规办法是设一个flag,层层阻断 下面思考一个非常规办法,程序遇到什么情况会强制退出?答案显而易见,错误或异常,下面利 ...

  4. 递归找到节点后跳出递归循环

    递归找到节点后跳出递归循环 在js 的递归循环中,找到了节点想跳出递归循环,如果是单纯的return或者break的时候,并没有阻止递归的循环 // 造一个树数据 const treeList = [ ...

  5. linux强制退出命令行_在Linux命令行上使用强制

    linux强制退出命令行 在最近的历史上的某个时候,科幻家们于5月4日开始了年度庆祝星际大战的庆典,这是对绝地的祝福:"愿原力与你同在". 尽管大多数Linux用户可能不是绝地武士 ...

  6. linux不保存强制退出指令,vi中哪条命令是不保存强制退出_网站服务器运行维护...

    linux中vi查找关键字的方法_网站服务器运行维护 linux中vi查找关键字的方法:进入vi中,先按下"ESC"跳转成命令输入模式,输入斜杠"/",然后输入 ...

  7. 您没有权限来打开应用程序_苹果建议:除非应用程序无响应,否则不要滑动强制退出...

    紫金财经2月26日消息 今日,苹果公司发布的一条建议,成为了微博热搜的话题.苹果建议除非应用程序无响应,否则不要滑动强制退出. 苹果公司表示,滑动关闭iPhone的应用程序可能会缩短电池寿命,并使设备 ...

  8. ubuntu 强制退出_强制在Ubuntu中退出无响应的图形应用程序

    ubuntu 强制退出 There are lots of command-line utilities to kill unresponsive programs in Linux, but for ...

  9. ios12上滑关闭程序动画_苹果iOS 12.1.3应用强制退出后台动画再变

    IT 之家2 月 1 日消息   在去年 12 月 8 日,苹果推送了 iOS 12.1.2 版本,更新内容中有一条 " 推出了应用强制退出时的新动画 ",这个更新主要是为了避开高 ...

最新文章

  1. 高精度运算(C++实现)
  2. 数据类型中的零碎基础知识
  3. oracle中substr() instr() 用法
  4. Android之使用MediaPlayer和SurfaceView组件播放一个简单的视频
  5. SQL Server2008优化之SET STATISTICS开关
  6. 有的时候看项目,和创业者交流,发现他们的企业
  7. 2019有的图纸打印出来看不清楚_CAD图纸打印出来后很多CAD文字消失了怎么办?...
  8. 计算机上机单招试题及答案,全国高职单招计算机类模拟试卷考卷及答案
  9. JSP与Servlet传值及对比
  10. AC日记——计算循环节长度 51nod 1035
  11. 网站建设的一般原则及网站推广技巧
  12. 2021申请邓白氏编码最新操作手册
  13. 男子虚构身份骗同窗网敌百余万
  14. SiamRPN:利用区域建议孪生网络进行视频跟踪
  15. C# 扫描并读取图片中的文字
  16. Android获取本机蓝牙地址
  17. 王者荣耀最低战力查询-王者战区修改
  18. 解决错误代码:0xc000007b系统蓝屏问题
  19. 《程序员面试》---你所不了解的offer话术
  20. 2021年焊工(初级)报名考试及焊工(初级)免费试题

热门文章

  1. 使用pytorch创建神经网络并解决线性拟合和分类问题
  2. Objective-C中的Category
  3. 关于http://127.0.0.1:4723/wd/hub的解释
  4. 【Go语言】【12】GO语言的结构体
  5. 【160天】尚学堂高琪Java300集视频精华笔记(129)
  6. SpringMVC详细示例实战教程
  7. python基础知识理解
  8. Testing tools
  9. Jsp实现BBS论坛交流系统
  10. Struts2之ModelDriven