QuickSort in 138 bytes. Works only on arrays, consists of different elements without zeros.
I`ll be gratefull if someone corrects these bugs.
function( | |
f //An array to sort | |
) | |
{ | |
var l=[], //Sumarray for least elements | |
r=[], //Subarray for greatest elements | |
p=f[0], //Element to compare with | |
a, //Variable to contain array elements | |
t=arguments.callee, //for recursion | |
i=n=f.length; //i - loop index, n - just not to rewrite f.length | |
/*We iterate throw the loop, save elements in variable and | |
put it to an array for least elements if it is less then p | |
and to an array for greatest elements, if its greater or equals*/ | |
for(;a=f[--i];a>=p?r.push(a):l.push(a)); | |
/*If array consists of only 1 element - return it, | |
return a concatenation of sorted least array and | |
greater array otherwise*/ | |
return n>1?t(l).concat(t(r)):f | |
} |
function(f){var l=[],r=[],p=f[0],a,t=arguments.callee,i=n=f.length;for(;a=f[--i];a>=p?r.push(a):l.push(a));return n>1?t(l).concat(t(r)):f} |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
Version 2, December 2004 | |
Copyright (C) 2011 YOUR_NAME_HERE <YOUR_URL_HERE> | |
Everyone is permitted to copy and distribute verbatim or modified | |
copies of this license document, and changing it is allowed as long | |
as the name is changed. | |
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | |
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |
0. You just DO WHAT THE FUCK YOU WANT TO. |