php 實現常見的排序演算法

2022-09-18 18:09:12 字數 1169 閱讀 7249

氣泡排序(bubble sort)

從前往後,也可以從後往前,用第乙個元素和第二個元素進行比較,大於第二個元素就交換,然後用第二個元素和第三個元素進行比較,大於第三個元素就交換,直到最大的數到了最後乙個,之後在從前往後,直到最大的數到了倒數第二個,以此類推,直到剩下乙個元素。
1

function bubble_sort($arr)2

13}1415

if (!$state

) 18}19

return

$arr

;20 }

選擇排序

從剩餘元素中找到最小值或者最大值和剩餘元素中的第乙個元素進行交換
1

function select_sort($arr)2

10}1112

if ($pos != $i

) 17}18

return

$arr

;19 }

快速排序

從陣列中取乙個分界值,然後將陣列分為左右兩個陣列,左陣列中為小於分界值的元素,右陣列中為大於等於分界值的元素;遞迴進行拆分,直到元素剩餘乙個,再將左陣列、分界值、右陣列進行合併。
function quick_sort($arr

)

$base = $arr[0];

$leftarr =;

$rightarr =;

for ($i = 1; $i

< $len; $i++)

else

}$leftarr = quick_sort($leftarr

);

$rightarr = quick_sort($rightarr

);

return

array_merge($leftarr, [$base], $rightarr

);}

插入排序

將未排序的元素和已排序的元素進行比較,放到合適的位置,預設第乙個元素為已排序的陣列元素。

function insert_sort($arr) 

else}}

return

$arr

;}

php實現幾種常見的排序演算法

交換排序 交換排序的基本思想是,比較兩個記錄鍵值的大小,如果這兩個記錄鍵值的大小出現逆序,則交換這兩個記錄,這樣將鍵值較小的記錄向序列前部移動,鍵值較大的記錄向序列後部移動。氣泡排序 bubble sort,台灣譯為 泡沫排序或氣泡排序 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩...

常見排序演算法的實現

在電腦科學與數學中,排序演算法是一種基本並且常用的演算法,乙個排序演演算法是一種能將一串資料依照特定排序方式的一種演演算法。有效的排序演演算法在一些演算 法中是重要的,如此這些演演算法才能得到正確解答。排序演演算法也用在處理文字資料以及產生人類可讀的輸出結果。由於實際工作中處理的數量巨大,所以排序演...

常見排序演算法的實現

在電腦科學與數學中,排序演算法是一種基本並且常用的演算法,乙個排序演演算法是一種能將一串資料依照特定排序方式的一種演演算法。有效的排序演演算法在一些演演算法中是重要的,如此這些演演算法才能得到正確解答。排序演演算法也用在處理文字資料以及產生人類可讀的輸出結果。由於實際工作中處理的數量巨大,所以排序演...