Javascript Array qsort(begin,end)

Description

Javascript Array qsort(begin,end)


Array.prototype.qsort = function(begin,end){
 
 function swap(array,a,b){
  var c = array[a];
  array[a] = array[b];/*from   w  w  w  . j  av  a2s  .c  o  m*/
  array[b] = c;
 }

 if(begin < end){
  var array = this;
  var index = begin;
  var pivot = array[index];
  swap(array,index,end);
  for(var i=begin; i<=end; i++){
   if(array[i] < pivot){
    swap(array,index,i);
    index++;
   }
  }
  swap(array,index,end);
  this.qsort(begin,index-1);
  this.qsort(index+1,end);
  return this;
 }else{
  return this;
 }
}



PreviousNext

Related