楼主: 静後
2691 19

[问答] 求助~简单排序 但是弄了好久没成功- -感谢! [推广有奖]

11
静後 发表于 2015-10-10 10:19:07
jinkelazzz 发表于 2015-10-10 10:09
这个不是你要的吗?
谢谢!   我想要的是 输入从c(4,7,5,6,4,5,6)   输出4,4,5,5,6,6,7     从小到大排序下

12
十里春风 学生认证  发表于 2015-10-10 12:53:51
  1. selsort<-function(v){
  2.   l=length(v)
  3.   t<-integer(l)
  4.   if(l==1){
  5.     return(v)
  6.   }
  7.   ii=1;
  8.   while(l>=1){
  9.     t[ii]<-min(v)
  10.     v<-v[-which.min(v)]
  11.     l<-l-1
  12.     ii<-ii+1
  13.   }
  14.   return(t)
  15. }
复制代码


13
万人往LVR 在职认证  发表于 2015-10-10 15:25:06
  1. reorder <- function(x){
  2.                 temp <- vector("numeric",length(x))
  3.                 for(i in 1:length(x)){
  4.                         temp[i] <- min(x)
  5.                         x[which(x==min(x))][1] <- max(x)
  6.                 }
  7.                 return(temp)
  8.         }
  9. reorder(c(1,3,4,13,2,4,3))
复制代码

14
静後 发表于 2015-10-11 03:14:33
十里春风 发表于 2015-10-10 12:53
非常感谢!

15
静後 发表于 2015-10-11 03:19:06
万人往LVR 发表于 2015-10-10 15:25
谢谢!  原来还可以return到temp   学到了  

16
万人往LVR 在职认证  发表于 2015-10-11 08:52:21
静後 发表于 2015-10-11 03:19
谢谢!  原来还可以return到temp   学到了
什么returned到temp,真是文科生

17
jinkelazzz 发表于 2015-10-11 14:35:16
静後 发表于 2015-10-10 10:19
谢谢!   我想要的是 输入从c(4,7,5,6,4,5,6)   输出4,4,5,5,6,6,7     从小到大排序下
直接sort()不行吗

18
qiangli 发表于 2015-10-11 17:42:05
是啊,非常同样楼上说的,
如果是简单的排序,sort就可以实现。否则就是楼主没有说清楚到底想做什么

  1. rm(list=ls())

  2. x <- c(4,7,5,6,4,5,6)
  3. x
  4. x <- sort(x)
  5. x
复制代码

结果
  1. > rm(list=ls())
  2. >
  3. > x <- c(4,7,5,6,4,5,6)
  4. > x
  5. [1] 4 7 5 6 4 5 6
  6. > x <- sort(x)
  7. > x
  8. [1] 4 4 5 5 6 6 7
  9. >
复制代码


19
静後 发表于 2015-10-12 02:12:19
jinkelazzz 发表于 2015-10-11 14:35
直接sort()不行吗
老师蛇精病 想让自己写个 和sort 比下速度。

20
静後 发表于 2015-10-12 02:12:52
qiangli 发表于 2015-10-11 17:42
是啊,非常同样楼上说的,
如果是简单的排序,sort就可以实现。否则就是楼主没有说清楚到底想做什么
老师蛇精病  让自己写个 和sort比下速度

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 08:06