Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
|
|
@ -0,0 +1,19 @@
|
|||
def mergesort(x) {
|
||||
return x if x.size() <= 1
|
||||
def left = mergesort(x.subList(0,x.size()/2))
|
||||
def right = mergesort(x.subList(x.size()/2))
|
||||
return left + right if left[-1] <= right[0]
|
||||
return merge(left, right)
|
||||
}
|
||||
|
||||
def merge(left, right) {
|
||||
def result = []
|
||||
while (left.size() > 0 && right.size() > 0) {
|
||||
[result <<= left[0], left = left.subList(1)] and continue if left[0] < right[0]
|
||||
[result <<= right[0], right = right.subList(1)]
|
||||
}
|
||||
result += left; result += right
|
||||
}
|
||||
|
||||
def numbers = 10.map{ random(20) }
|
||||
println "Numbers: $numbers, sorted: ${mergesort(numbers)}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue