全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1307 6
2013-11-03
f<-function(x){
n=length(x)
for(i in 1:n){
for(j in (i+1):n){
if(x[j]<x[i])
{ z=x[i];x[i]=x[j];x[j]=z}
                 }
             }
x
}
> x=c(1,3,4,3,2,6)
> f(x)
错误于if (x[j] < x[i]) { : 需要TRUE/FALSE值的地方不可以用缺少值
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-11-3 22:23:56
i=6的时候,j=7,x[j]=NULL,出错了。
应改为for(i in 1:(n-1))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-4 10:05:44
哈哈,第一,这样的算法不叫C++思想,复制交换在没有面向对象思想时就有了,那时候连C还没有呢,不要说C++,不要乱扣帽子呦。
第二,不是R不行,是lz程序写的不行。你的内层循环赋值出窍了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-4 10:06:34
同意楼上,不过不干嘛直接sort(x)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-4 19:46:22
lww1993 发表于 2013-11-3 22:23
i=6的时候,j=7,x[j]=NULL,出错了。
应改为for(i in 1:(n-1))
谢谢了啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-5 11:08:20
ltx5151 发表于 2013-11-4 10:05
哈哈,第一,这样的算法不叫C++思想,复制交换在没有面向对象思想时就有了,那时候连C还没有呢,不要说C++, ...
循环赋值出窍了
-------------------------
很形象
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群