JavaScript 排序算法——快速排序
常见排序
javaScript 实现的常见排序算法有:冒泡排序、选择排序、插入排序、谢尔排序、快速排序(递归)、快速排序(堆栈)、归并排序、堆排序。
过程
"快速排序"的思想很简单,整个排序过程只需要三步:
1、在数据集之中,找一个基准点
2、建立两个数组,分别存储左边和右边的数组
3、利用递归进行下次比较
代码例子
1 <script type="text/javascript"> 2 function quickSort(arr){ 3 if(arr.length<=1){ 4 return arr;//如果数组只有一个数,就直接返回; 5 } 6 7 var num = Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整 8 var numValue = arr.splice(num,1);//找到中间数的值 9 var left = []; 10 var right = []; 11 12 for(var i=0;i<arr.length;i++){ 13 if(arr[i]<numValue){ 14 left.push(arr[i]);//基准点的左边的数传到左边数组 15 } 16 else{ 17 right.push(arr[i]);//基准点的右边的数传到右边数组 18 } 19 } 20 return quickSort(left).concat([numValue],quickSort(right));//递归不断重复比较 21 } 22 23 alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87” 24 </script>
欢迎访问 JAVA技术分享 www.2b2b92b.com