找回密码
 立即注册
查看: 3957|回复: 3

R语言无限递归

[复制链接]
发表于 2015-3-31 18:23:49 | 显示全部楼层 |阅读模式
  1. mst<-function(x,x1,s,t){
  2.         if(s==t){
  3.                 x1[s]<-x[s]
  4.         }
  5.         else{
  6.                 m<-(s+t)/2
  7.                 x1<-mst(x,x1,s,m)
  8.                 x1<-mst(x,x1,m+1,t)
  9.                 x1<-merge(x,x1,s,m,t)
  10.         }
  11.         return(x1)
  12. }
复制代码

这个程序报错,无限递归???
回复

使用道具 举报

发表于 2015-4-1 10:02:57 | 显示全部楼层
没有错,你再试一次
回复

使用道具 举报

发表于 2015-4-1 10:09:12 | 显示全部楼层
当s==t时,程序是没有错的,因为他只会执行if{  }内的命令,当s!=t时,命令就相当于整个三层的房子都没盖好却说要在二楼的大厅里先做个整栋房子的模型
回复

使用道具 举报

发表于 2015-4-1 16:05:17 | 显示全部楼层
if (s==t) { ... } 改成 if (s<=t) { ... },另外,m=(s+t)/2要取整数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 18:59 , Processed in 0.021653 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表