A-A+

javascript中数组快速排序的方法

2016年01月13日 web前端设计 暂无评论 阅读 5 views 次

本文章简单的介绍一个js数组快速排序的实现有需要了解的同学可以参考.

  1. function quickSort(arr){   
  2. //如果数组只有一个数,就直接返回;   
  3. if(arr.length<1){   
  4. return arr;   
  5. }   
  6. //找到中间的那个数的索引值;如果是浮点数,就向下取整   
  7. var centerIndex = Math.floor(arr.length/2);   
  8. //根据这个中间的数的索引值,找到这个数的值;   
  9. var centerNum = arr.splice(centerIndex,1);   
  10. //存放左边的数   
  11. var arrLeft = [];   
  12. //存放右边的数   
  13. var arrRight = [];   
  14. for(i=0;i<arr.length;i++){   
  15. if(arr[i]<centerNum){   
  16. arrLeft.push(arr[i])   
  17. }else if(arr[i]>centerNum){   
  18. arrRight.push(arr[i])   
  19. }   
  20. }   
  21. return quickSort(arrLeft).concat(centerNum,quickSort(arrRight));   
  22. };   
  23. var arrSort = [33,18,2,40,16,63,27];   
  24. var arr1 = quickSort(arrSort);   
  25. console.log(arr1);  
标签:

给我留言