js快速排序的实现代码

2019-12-24,,,

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


希望不管是使用什么语言都能从这个简单的代码里很方便的掌握快排思路与编写方式
复制代码 代码如下:
function quick_sort(list, start, end) { 
      if (start < end) { 
        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 <= end; i ++) { 
        if (list[i] < pivot) { 
          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);

您可能感兴趣的文章:

  • Javascript数组的排序 sort()方法和reverse()方法
  • JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
  • js交换排序 冒泡排序算法(Javascript版)
  • js中数组排序sort方法的原理分析
  • 基于JS实现数字+字母+中文的混合排序方法
  • 几种经典排序算法的JS实现方法
  • js 静态HTML表格排序功能实现
  • JS 排序输出实现table行号自增前端动态生成的tr
  • JavaScript中数组的排序、乱序和搜索实现代码
  • JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】

《js快速排序的实现代码.doc》

下载本文的Word格式文档,以方便收藏与打印。