PHP实现的快速排序
2012-11-26 20:36
399 查看
<?php function quickSort(&$array, $left, $right){ if ($left >= $right){ return ; } $pivot = $array[$left]; //选择比较元素 $array[$left] = $array[$right]; $array[$right] = $pivot; //比较元素移至数组末尾 $storeIdx = $left; for ($i = $left; $i < $right; $i++){ //找到比较元素合适的位置 if ($array[$i] < $pivot){//小于比较元素的元素移至数组左边,大于比较元素的元素移至数组右边 $tmp = $array[$storeIdx]; $array[$storeIdx] = $array[$i]; $array[$i] = $tmp; $storeIdx++; } } $tmp = $array[$storeIdx]; $array[$storeIdx] = $pivot; //比较元素插入合适位置 $array[$right] = $tmp; quickSort($array, $left, $storeIdx-1); //比较左边部分 quickSort($array, $storeIdx+1, $right); //比较右边部分 } $arr = array(1,4,2,1,78,100,3,2,900,1,10); quickSort($arr,0,count($arr)-1); var_dump($arr); ?>
Wiki:http://en.wikipedia.org/wiki/Quicksort
相关文章推荐
- PHP实现快速排序
- php快速排序原理与实现方法分析
- php实现快速排序的三种方法分享
- PHP实现快速排序
- php 实现快速排序
- 二分法和快速排序的PHP实现
- 快速排序、二分法查找的PHP实现代码
- PHP递归实现快速排序的方法示例
- PHP实现冒泡排序和快速排序
- PHP实现冒泡排序和快速排序
- PHP实现快速排序
- php实现冒泡排序,选择排序,插入排序和快速排序
- php快速排序的三种实现(吊打面试官)
- php快速排序原理与实现方法分析
- 快速排序原理及PHP实现
- php实现快速排序
- php实现快速排序
- PHP实现快速排序与冒泡排序
- PHP实现排序算法----快速排序(Quick Sort)、快排
- 图解算法练习--快速排序(PHP实现)