首页 > 编程语言 > 详细

关于数组排序

时间:2017-01-10 17:19:54      阅读:167      评论:0      收藏:0      [点我收藏+]

1.数组排序sort方法:

1      var arrNum = [1,9,14,0,-2];
2      console.log(arrNum.sort(function(n1, n2){return n1-n2;})); //升序
3      console.log(arrNum.sort(function(n1, n2){return n2-n1;})); //降序

2.快速排序:

 1     function quickSort(arr){ // 从大到小
 2         if(arr.length <= 1){ //这个必须要,不然报堆栈溢出的错误
 3             return arr;
 4         } 
 5         var left = [],
 6                 right = [],
 7                 middle = [];
 8         var middleValue = arr[Math.floor(arr.length / 2)];
 9         for(var i=0; i<arr.length; i++){
10             if(arr[i] > middleValue){
11                 left.push(arr[i]);
12             }else if(arr[i] < middleValue){
13                 right.push(arr[i]);
14             }else{
15                 middle = arr[i];
16             }
17         }
18         return [].concat(quickSort(left),middle,quickSort(right));
19     }
20     var arr1 = [1, -100, 2000, 0, 1];
21     console.log(quickSort(arr1)); // [2000, 1, 0, -100]

3.冒泡排序:

 1     function bubbleSort(arr){ // 从小到大
 2         var temp;
 3         for(var i=0; i<arr.length; i++){
 4             for(var j=0; j<arr.length; j++){
 5                 if(arr[j] > arr[j+1]){
 6                     temp = arr[j+1];
 7                     arr[j+1] = arr[j];
 8                     arr[j] = temp;
 9                 }
10             }
11         }
12         return arr;
13     }
14     var arr1 = [1, -100, 2000, 0, 1];
15     console.log(bubbleSort(arr1)); // [-100, 0, 1, 1, 2000]

 

关于数组排序

原文:http://www.cnblogs.com/xiayu25/p/6269680.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!