javascript中数组快速排序的方法
本文章简单的介绍一个js数组快速排序的实现有需要了解的同学可以参考。 代码如下 function quickSort(arr){ //如果数组只有一个数,就直接返回; if(arr.length1){ return arr; } //找到中间的那个数
本文章简单的介绍一个js数组快速排序的实现有需要了解的同学可以参考。
代码如下 | |
function quickSort(arr){ //如果数组只有一个数,就直接返回; if(arr.length<1){ return arr; } //找到中间的那个数的索引值;如果是浮点数,就向下取整 var centerIndex = Math.floor(arr.length/2); //根据这个中间的数的索引值,找到这个数的值; var centerNum = arr.splice(centerIndex,1); //存放左边的数 var arrLeft = []; //存放右边的数 var arrRight = []; for(i=0;i<arr.length;i++){ if(arr[i]<centerNum){ arrLeft.push(arr[i]) }else if(arr[i]>centerNum){ arrRight.push(arr[i]) } } return quickSort(arrLeft).concat(centerNum,quickSort(arrRight)); }; var arrSort = [33,18,2,40,16,63,27]; var arr1 = quickSort(arrSort); console.log(arr1); |
精彩图集
精彩文章