好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP和JS快速排序实现代码

"快速排序"的思想很简单,整个排序过程只需要三步:

(1)在数据集之中,选择一个元素作为"基准"(pivot)。

(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。

(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。

PHP快速排序实现方法:

<?php $unsorted = array(2,4,5,63,4,5,63,2,4,43); function quicksort($array) { if (count($array) == 0) return array(); $pivot = $array[0]; $left = $right = array(); for ($i = 1; $i < count($array); $i++) { if ($array[$i] < $pivot) $left[] = $array[$i]; else $right[] = $array[$i]; } return array_merge(quicksort($left), array($pivot), quicksort($right)); } $sorted = quicksort($unsorted); print_r($sorted);

 

Javascript快速排序实现方法:

var a = [2,4,5,63,4,5,63,2,4,43]; function quicksort(arr) { if (arr.length == 0){return []} var left = [],right = []; var pivot = arr[0]; for (var i = 1,arrc = arr.length; i < arrc; i++) { if (arr[i] < pivot) { left.push(arr[i]); } else { right.push(arr[i]); } } return quicksort(left).concat(pivot, quicksort(right)); } console.log(quicksort(a));

查看更多关于PHP和JS快速排序实现代码的详细内容...

  阅读:47次