June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -1,15 +1,17 @@
fun mergeSort(m):
return m if m.size <= 1
let middle = m.size / 2
let left = merge(m[:middle])
let right = merge(m[middle:]);
if m.len <= 1: return m
let middle = floor m.len / 2
let left = merge(m[:middle])
let right = merge(m[middle-1:]);
fun merge(left, right):
let result = []
while |left or right|.!empty:
result ++ (left.shift() if |left <= right|.first ...
else right.shift())
result ++ left ++ right
while not (left.isEmpty or right.isEmpty):
if left[1] <= right[1]:
result ++ left.shift()
else:
result ++ right.shift()
result ++ left ++ right
let arr = [7, 6, 5, 9, 8, 4, 3, 1, 2, 0]
print mergeSort arr