Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

View file

@ -0,0 +1,29 @@
func merge(left, right) {
var result = [];
while (!left.is_empty && !right.is_empty) {
result.append([right,left][left.first <= right.first].shift);
};
result + left + right;
}
 
func mergesort(array) {
var len = array.len;
len < 2 && return array;
 
var mid = (len/2 -> int);
var left = array.ft(0, mid-1);
var right = array.ft(mid);
 
left = __FUNC__(left);
right = __FUNC__(right);
 
merge(left, right);
}
 
# Numeric sort
var nums = (0..7 -> shuffle);
say mergesort(nums);
 
# String sort
var strings = ('a'..'e' -> shuffle);
say mergesort(strings);