PHP快速排序

2021-09-11 22:42:07 字數 942 閱讀 7786

快速排序是一種比較排序,這意味著它可以對任何型別的元素進行排序。快速排序可以說是氣泡排序的改進。

快速排序演算法**如下:

<?php

function quick_sort($my_array)

$pivot_key = key($my_array);

$pivot = array_shift($my_array);

foreach($my_array as $val)

elseif ($val > $pivot)

}return array_merge(quick_sort($loe),array($pivot_key=>$pivot),quick_sort($gt));

}$my_array = array(3, 0, 2, 5, -1, 4, 1);

echo '原始陣列 : '.implode(',',$my_array).'\n';

$my_array = quick_sort($my_array);

echo '排序後陣列 : '.implode(',',$my_array);

輸出:

array_shift()函式將陣列開頭的單元移出陣列;

array_shift ( array &$array ) : mixed

array_shift() 將 array 的第乙個單元移出並作為結果返回,將 array 的長度減一併將所有其它單元向前移動一位。所有的數字鍵名將改為從零開始計數,文字鍵名將不變。

array_merge()函式合併乙個或多個陣列;

array_merge ( array $array1 [, array $… ] ) : array

array_merge() 將乙個或多個陣列的單元合併起來,乙個陣列中的值附加在前乙個陣列的後面。返回作為結果的陣列。

php 快速排序演算法,PHP 快速排序演算法

概念 快速排序演算法是對冒泡演算法的乙個優化。他的思想是先對陣列進行分割,把大的元素數值放到乙個臨時陣列裡,把小的元素數值放到另乙個臨時陣列裡 這個分割的點可以是陣列中的任意乙個元素值,一般用第乙個元素,即 array 0 然後繼續把這兩個臨時陣列重複上面拆分,最後把小的陣列元素和大的陣列元素合併起...

php 快速排序演算法,php 快速排序函式

在php程式設計中會用到一些常用的演算法,把這些演算法 寫成函式方便以後呼叫 php快速排序函式就這樣誕生了,兩個版本,遞迴和無遞迴。可以根據實際需要選用。qsort 資料快速排序遞迴版 array to sort 需要排序的陣列 排序過程中,陣列的鍵會被替換為數字索引的鍵 如果 array to ...

快速排序 php

快速排序 function quick sort arr 如果沒有返回,說明陣列內的元素個數 多餘1個,需要排序 選擇乙個標尺 選擇第乙個元素 base num arr 0 遍歷 除了標尺外的所有元素,按照大小關係放入兩個陣列內 初始化兩個陣列 left array array 小於標尺的 righ...