a <- -10:10
b <- 2:8
checkSort <- function(x) {
result = TRUE
for (i in 1:(length(x) - 1)) {
for (j in (i + 1):length(x)) {
if (x[j - 1] > x[j]){
result <- FALSE
break
}
}
}
return(result)
}
mergesort <- function(a, b) {
if (checkSort(a) & checkSort(b)){
a.length <- length(a)
b.length <- length(b)
n <- a.length + b.length
result.vec <- rep(0, n)
i <- 1
j <- 1
k <- 1
while(i <= a.length & j <= b.length){
if(a <= b[j]) {
result.vec[k] <- a
i <- i +1
k <- k + 1
} else {
result.vec[k] <- b[j]
j <- j + 1
k <- k + 1
}
}
while(i <= a.length) {
result.vec[k] <- a
i <- i +1
k <- k + 1
}
while(j <= b.length) {
result.vec[k] <- b[j]
j <- j + 1
k <- k + 1
}
return(result.vec)
} else {
cat("please input two sorted vectors")
}