【发布时间】:2016-07-06 17:24:06
【问题描述】:
我在 R 语言上做了一些编程工作来进行冒泡排序。有时它可以完美运行而没有任何错误消息,但有时会显示“if (x[i] > x[i + 1]) { 中的错误:参数长度为零”。任何人都可以帮我检查它有什么问题吗?我在下面附上了我的代码
example <- function(x) {
n <- length(x)
repeat {
hasChanged <- FALSE
n <- n - 1
for(i in 1:n) {
if ( x[i] > x[i+1] ) {
temp <- x[i]
x[i] <- x[i+1]
x[i+1] <- temp
hasChanged <- TRUE
cat("The current Vector is", x ,"\n")
}
}
if ( !hasChanged ) break;
}
}
x <-sample(1:10,5)
cat("The original Vector is", x ,"\n")
example(x)
【问题讨论】:
-
您是否考虑过使用
traceback来确定哪个函数调用得到了错误的输入?您还应该摆脱那些无用的空行。
标签: r bubble-sort