merge sort
Sigiloso
javascript function mergeSort(arr) { var midI; var left; var right; if(arr.length < 2) { return arr; } midI = parseInt(arr.length / 2); left = arr.slice(0, midI); right = arr.slice(midI, arr.length); return merge(mergeSort(left), mergeSort(right)); function merge(l, r) { var result = []; while(l.length && r.length) { if(l[0] < r[0]) { result.push(l.shift()); } else { result.push(r.shift()); } } while(l.length) { result.push(l.shift()); } while(r.length) { result.push(r.shift()); } return result; } }