<?php
/**
* @Author: fql
* @Email: fangqiulin4923@gmail.com
* @Date: 2020-07-18 22:25
*/
namespace fql\algorithm\sort;
use Monolog\Logger;
/**
* Class QuickSort
* @package fql\sort
* 1何吝、從數(shù)組選定一個元素N,作為基準(zhǔn)元素
* 2强挫、遍歷數(shù)組岔霸,將數(shù)組分為三部分薛躬,小于M俯渤,N,大于N
* 3型宝、然后按照此方法八匠,對小于N和大于N部分進(jìn)行遞歸,從而達(dá)到排序
*/
class QuickSort extends Sort
{
protected function sort(array &$array)
{
$array = $this->quickSort($array);
}
//選定基準(zhǔn)元素,并排序基準(zhǔn)元素
private function quickSort($array)
{
if (count($array) <= 1) {
return $array;
}
$middle = $array[0]; // 中間值
$left = array();
$right = array();
// 循環(huán)比較
for ($i = 1; $i < count($array); $i++) {
if ($middle < $array[$i]) {
// 大于中間值
$right[] = $array[$i];
} else {
// 小于中間值
$left[] = $array[$i];
}
}
$left = $this->quickSort($left);
$right = $this->quickSort($right);
// 合并排序后的數(shù)據(jù)趴酣,別忘了合并中間值
return array_merge($left, array($middle), $right);
}
}
$arr = [4, 7, 6, 3, 5, 8, 9, 10, 1, 2];
$this->sort($arr);
快速排序【一】净神,php實(shí)現(xiàn)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門藻雪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人狸吞,你說我怎么就攤上這事勉耀。” “怎么了蹋偏?”我有些...
- 文/不壞的土叔 我叫張陵便斥,是天一觀的道長。 經(jīng)常有香客問我威始,道長枢纠,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任字逗,我火速辦了婚禮京郑,結(jié)果婚禮上宅广,老公的妹妹穿的比我還像新娘。我一直安慰自己些举,他們只是感情好跟狱,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著户魏,像睡著了一般驶臊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叼丑,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绰垂!你這毒婦竟也來了室奏?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對情侶失蹤劲装,失蹤者是張志新(化名)和其女友劉穎胧沫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體占业,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡绒怨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了纺酸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窖逗。...
- 正文 年R本政府宣布仗考,位于F島的核電站,受9級特大地震影響词爬,放射性物質(zhì)發(fā)生泄漏秃嗜。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锅锨。 院中可真熱鬧叽赊,春花似錦、人聲如沸必搞。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽恕洲。三九已至塔橡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霜第,已是汗流浹背葛家。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長得像末誓,于是被迫代替她去往敵國和親扯俱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 思路:1.選擇第一個元素作為分區(qū)的基準(zhǔn)元素殊校,比較其他元素和該基準(zhǔn)函數(shù)的大小晴玖,小的放在左邊數(shù)組,大的放在右邊數(shù)組 2...
- 歡迎探討秀睛,如有錯誤敬請指正 如需轉(zhuǎn)載,請注明出處http://www.cnblogs.com/nullzx/ 1....
- 從上到下都是基于上面的排序算法進(jìn)行優(yōu)化 swap方法原型 Java快速排序 從序列中挑選出一個元素(一般是第一個或...
- 廢話不說直接上代碼 快速排序隨機(jī)獲取一個key[一般是$arr[0]],通過反復(fù)對比 大于key的放到右邊,小于k...
- 快排的思想:找一個基準(zhǔn)數(shù)莲祸,大于基準(zhǔn)數(shù)的放右邊蹂安,小于基準(zhǔn)數(shù)的放左邊,然后將基準(zhǔn)數(shù)左右看成兩個子數(shù)組锐帜,分別再重復(fù)以上過...