PHP 实现快速排序
生活随笔
收集整理的這篇文章主要介紹了
PHP 实现快速排序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先了解快速排序的原理:
1、先取一個(gè)基值,用于每次的標(biāo)準(zhǔn)定位。
2、遍歷數(shù)組,將大于基值的放到右邊數(shù)組,小于的放到左邊數(shù)組
3、將每次的左右數(shù)組和基值一起合并
代碼實(shí)現(xiàn):
//快速排序 function quick_sort($array){$count = count($array);if ($count<=1) {return $array;}//每次取最左邊的值$key = $array[0];$leftArr = array();$rightArr = array();for ($i=1; $i<$count; $i++) {//放到左邊 if ($array[$i]<=$key) {$leftArr[] = $array[$i];}else{//放到右邊$rightArr[] = $array[$i];}}// print_r($leftArr);// echo "<br>";// print_r($rightArr);// echo "<br>";//遞歸調(diào)用$leftArr = quick_sort($leftArr);$rightArr = quick_sort($rightArr);//合并數(shù)組return array_merge($leftArr,array($key),$rightArr);}$arr = array(1,2,5,8,9,100,3,88,50,22); // $arr = bubble_sort($arr); $arr = quick_sort($arr); // print_r($arr);總結(jié)
以上是生活随笔為你收集整理的PHP 实现快速排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GOF设计模式(概念、原则、场景、优点、
- 下一篇: PHP 实现冒泡排序