UNPKG

sort-algo

Version:
43 lines (32 loc) 865 B
module.exports = function(array, callback){ var size = array.length; process.nextTick(function(){ callback(null, quickSort(array , 0 , size - 1)); }); }; function exchange(array , a , b){ var temp = array[a]; array[a] = array[b]; array[b] = temp; return(array); } function quickSort(array , start , end){ var left = start - 1 ; var right = end + 1 ; const pivot = array[start]; if( start >= end){ // array.lengh == 0 return(array); } while(true){ do right-- ; while(array[right] > pivot); do left++ ; while(array[left] < pivot); if(left < right){ array = exchange(array, left, right); } else break; } array = quickSort(array , start , right); array = quickSort(array , right + 1 , end); return array; }