最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript快速排序算法詳解

 更新時(shí)間:2014年09月17日 11:42:51   投稿:hebedich  
JavaScript實(shí)現(xiàn)的常見(jiàn)排序算法有:冒泡排序,選擇排序,插入排序,謝爾排序,快速排序(遞歸),快速排序(堆棧),歸并排序,堆排序。今天我們來(lái)詳細(xì)分析下快速排序算法

"快速排序"的思想很簡(jiǎn)單,整個(gè)排序過(guò)程只需要三步:

 ?。?)在數(shù)據(jù)集之中,找一個(gè)基準(zhǔn)點(diǎn)

 ?。?)建立兩個(gè)數(shù)組,分別存儲(chǔ)左邊和右邊的數(shù)組

  (3)利用遞歸進(jìn)行下次比較

看一個(gè)demo:http://jsdo.it/norahiko/oxIy/fullscreen(網(wǎng)頁(yè)打開(kāi)可能較慢,慢慢等待吧)

<script type="text/javascript"> 

function quickSort(arr){
  if(arr.length<=1){
    return arr;//如果數(shù)組只有一個(gè)數(shù),就直接返回;
  }

  var num = Math.floor(arr.length/2);//找到中間數(shù)的索引值,如果是浮點(diǎn)數(shù),則向下取整
  var numValue = arr.splice(num,1);//找到中間數(shù)的值
  var left = [];
  var right = [];

  for(var i=0;i<arr.length;i++){
    if(arr[i]<numValue){
      left.push(arr[i]);//基準(zhǔn)點(diǎn)的左邊的數(shù)傳到左邊數(shù)組
    }
    else{
      right.push(arr[i]);//基準(zhǔn)點(diǎn)的右邊的數(shù)傳到右邊數(shù)組
    }
  }
 return quickSort(left).concat([numValue],quickSort(right));//遞歸不斷重復(fù)比較
}
alert(quickSort([32,45,37,16,2,87]));//彈出“2,16,32,37,45,87”

</script>

相關(guān)文章

最新評(píng)論

安达市| 托克逊县| 凌源市| 扶风县| 于田县| 西藏| 荔浦县| 福安市| 通州市| 凤山市| 共和县| 衢州市| 井冈山市| 兴和县| 蒙山县| 昭苏县| 象山县| 清水县| 徐州市| 长丰县| 资兴市| 隆子县| 平遥县| 福海县| 疏附县| 凤庆县| 镇远县| 乐都县| 桃源县| 湘潭市| 孝感市| 榆树市| 定日县| 文成县| 阿图什市| 尼勒克县| 遵义市| 乡宁县| 建瓯市| 吉木萨尔县| 琼结县|