首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >暴力选择排序

暴力选择排序
EN

Stack Overflow用户
提问于 2016-03-18 10:55:01
回答 1查看 532关注 0票数 1

我正在尝试写R代码来做暴力力量选择排序。但是我不知道怎么写min<- i和min<-j部分。

代码语言:javascript
复制
example <- function(x)

{

  for (i in 1:(length(x)-1))

  {

    #min <- i

    for (j in (i+1):(length(x)))

    {

      if (x[j] < x[(which.min(x))])

      {

        #min <- j

      }

    temp <- x[which.min(x)]

    x[which.min(x)] <- x[i]

    x[i] <- temp

    }

  }

  x

}

x <-sample(1:100,10)

example(x)

有人能帮我完成“#”部分吗?

我还附上了伪代码

EN

回答 1

Stack Overflow用户

发布于 2016-03-18 11:06:57

min是下一个最小元素的索引。因此,这与使用没有内部循环的which.min是一样的。

代码语言:javascript
复制
example <- function(x) {
  for (i in 1:(length(x)-1)) {
    mindex <- i  # or, mindex <- which.min(x[(i+1):length(x)]) and remove the next loop

    for (j in (i+1):(length(x))) {
      if (x[j] < x[mindex]) 
        mindex <- j
    }

    ## swap
    temp <- x[i]
    x[i] <- x[mindex]
    x[mindex] <- temp
  }
  x
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36075326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档