面试中可以用到的2种数组排序方法

做面试题时 常常会考数组排序的问题

我个人认为并没有必要掌握全部的方法 掌握2种常用的即可

		var arr = [1,2,3,4,5,1,2,3,4,5,'1','1',2,'2','2'];
		var quickSort = function(arr){
			if(arr.length <=1 ){return arr;}
			  var pivotIndex = Math.floor(arr.length / 2) ;

			  var pivot = arr.splice(pivotIndex, 1)[0];

			  var left = [];

			  var right = [];

			  for (var i = 0; i < arr.length; i++){

			    if (arr[i] < pivot) {

			      left.push(arr[i]);

			    } else {

			      right.push(arr[i]);

			    }

			  }
			return quickSort(left).concat([pivot], quickSort(right));			
		}
		console.log(quickSort(arr));

1.快速排序 这个用到了递归 这是一个加分项


2.

		var arr = [2,5,88,444,751,24,156,54,99,5]



		var systemSort=function(array){ 
			
			return array.sort(function(a, b){ 
				return a - b; 
			}); 
		}
		console.log(systemSort(arr));     
关于return a - b的解释

                    
                    

你可能感兴趣的:(数组)