Heim >Web-Frontend >js-Tutorial >js快速排序的实现代码_javascript技巧

js快速排序的实现代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 17:10:161097Durchsuche

但是有不少的书本讲得并不是很清楚,而且不同的教材的实现方式也不尽相同,
我这里将最简单的快速排序的思路写出来供大家参考。

希望不管是使用什么语言都能从这个简单的代码里很方便的掌握快排思路与编写方式

复制代码 代码如下:

function quick_sort(list, start, end) { 
      if (start         var pivotpos = partition(list, start, end);   //找出快排的基数 
        quick_sort(list, start, pivotpos - 1);        //将左边的快排一次 
        quick_sort(list, pivotpos + 1, end);          //将右边的快排一次 
      } 
    } 

     
    //将一个序列调整成以基数为分割的两个区域,一边全都不小于基数,一边全都不大于基数 
    function partition(list, start, end) { 
      var pivotpos = start; 
      var pivot = list[start]; 
      var tmp; 
      for(var i = start + 1; i         if (list[i]           tmp = list[i]; 
          pivotpos += 1; 
          list[i] = list[pivotpos]; 
          list[pivotpos] = tmp; 
        } 
      } 

      tmp = list[start]; 
      list[start] = list[pivotpos]; 
      list[pivotpos] = tmp; 
      return pivotpos; 
    } 

     
    var list = [8,2,4,65,2,4,7,1,9,0,2,34,12]; 

    quick_sort(list, 0, list.length);
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn