国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 邏輯算法 > 正文

php排序算法:php快速排序的算法原理及算法實現

2020-03-22 20:24:42
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于php排序算法:php快速排序的算法原理及算法實現,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

php快速排序算法原理:找到當前數組中的任意一個元素(一般選擇第一個元素),作為標準,新建兩個空數組left、rignt,遍歷整個數組元素,如果遍歷到的元素比當前的元素小就放到數組left,比當前的元素大放到rignt,然后再對新數組進行同樣的操作。

遞歸:
遞歸是一種函數調用自身的機制。
遞歸必須要有邊界條件,也就是遞歸出口(退出遞歸)
遞歸前進段和遞歸返回段,也就是最后得到的值
當邊界條件不滿足時,遞歸前進;當邊界條件(遞歸出口)滿足是,遞歸返回。
PHP的遞歸非常消耗性能,盡量避免使用。

php快速排序的原理復合遞歸原理
遞歸點:如果數組元素大于1,就需要再進行分解,所以我們的遞歸點就是新構造的數組元素個數大于1
遞歸出口:當數組元素個數為1,不需再對新數組進行排序。

php快速排序法實現代碼:

$arr = [34,56,7,89,12,9];function quick_sort($arr)// 判斷參數是否是一個數組if(!is_array($arr)) return false;// 遞歸出口:數組長度為1,直接返回數組$length = count($arr);if($length = 1) return $arr;// 數組元素有多個,則定義兩個數組$left = $right = [];// 循環遍歷數組,把第一個元素當做比較的對象for($i=1;$i $length;$i++) //判斷當前元素的大小 if($arr[$i] $arr[0]) $left[] = $arr[$i]; else $right[] = $arr[$i];// 遞歸調用$left = quick_sort($left);$right = quick_sort($right);// 將所有的結果合并return array_merge($left,[$arr[0]],$right);print_r(quick_sort($arr));

相關推薦:

php 冒泡排序 快速排序,php冒泡排序

php 冒泡排序 快速排序,php冒泡排序_PHP教程

以上就是php排序算法:php快速排序的算法原理及算法實現的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 介休市| 万盛区| 三都| 武义县| 榆社县| 沐川县| 洮南市| 焦作市| 灵川县| 湖口县| 蛟河市| 亳州市| 屯留县| 灯塔市| 安徽省| 凤冈县| 永嘉县| 福建省| 集贤县| 鲜城| 蓬安县| 南皮县| 肥城市| 隆德县| 敖汉旗| 绥宁县| 甘泉县| 曲阳县| 朝阳县| 顺义区| 金寨县| 余江县| 遂平县| 繁昌县| 图木舒克市| 台东县| 武平县| 新乡县| 普宁市| 岳西县| 鹿邑县|