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