国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js快速排序的實現代碼

2024-05-06 15:57:05
字體:
來源:轉載
供稿:網友
快速排序是一種平均性能非常優秀的排序算法,在很多場合都會應用到他,了解快速排序于對開放高效率的軟件有很重要的作用

但是有不少的書本講得并不是很清楚,而且不同的教材的實現方式也不盡相同,
我這里將最簡單的快速排序的思路寫出來供大家參考。

希望不管是使用什么語言都能從這個簡單的代碼里很方便的掌握快排思路與編寫方式

復制代碼 代碼如下:


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);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 黎平县| 布尔津县| 蒙阴县| 长寿区| 乐东| 奉化市| 称多县| 南汇区| 德惠市| 延吉市| 临邑县| 大宁县| 武隆县| 鲁山县| 乌鲁木齐市| 黎城县| 陆良县| 庄浪县| 海安县| 沂源县| 麻城市| 洪洞县| 建湖县| 麻城市| 台南市| 泰兴市| 钦州市| 锦屏县| 正蓝旗| 温宿县| 肇源县| 晴隆县| 汉中市| 霍林郭勒市| 永胜县| 图木舒克市| 冷水江市| 孙吴县| 榆林市| 绥棱县| 洛浦县|