Sorting algorithms/Gnome sort: Difference between revisions
Content added Content deleted
(Added R code) |
|||
Line 481: | Line 481: | ||
[1, 2, 3, 4, 5, 6] |
[1, 2, 3, 4, 5, 6] |
||
>>> </lang> |
>>> </lang> |
||
=={{header|R}}== |
|||
<lang r> |
|||
gnomesort <- function(x) |
|||
{ |
|||
i <- 1 |
|||
j <- 1 |
|||
while(i < length(x)) |
|||
{ |
|||
if(x[i] <= x[i+1]) |
|||
{ |
|||
i <- j |
|||
j <- j+1 |
|||
} else |
|||
{ |
|||
temp <- x[i] |
|||
x[i] <- x[i+1] |
|||
x[i+1] <- temp |
|||
i <- i - 1 |
|||
if(i == 0) |
|||
{ |
|||
i <- j |
|||
j <- j+1 |
|||
} |
|||
} |
|||
} |
|||
x |
|||
} |
|||
gnomesort(c(4, 65, 2, -31, 0, 99, 83, 782, 1)) # -31 0 1 2 4 65 83 99 782 |
|||
</lang> |
|||
=={{header|Ruby}}== |
=={{header|Ruby}}== |