演算法 PHP實現氣泡排序和快速排序 防遺忘

2022-01-22 00:28:49 字數 1159 閱讀 1290

有沒有這樣的感覺,排序演算法雖然簡單,但是沒看過一次,一會就又忘了,所以有必要 自己使用實際的**執行實現,才記憶牢固,為此mark

//需求:將陣列中元素,從大到小排列

$a = array(11, 22, 44, 66, 99, 88);

1. 氣泡排序

/*將第1個數與第2個數,比較如果小於第2個數,就交換位置,依次與這些數比較。

*緊接著是 第2個數做同樣的事,直到最後乙個數為止

*/

//需求:將陣列中元素,從大到小排列

$a = array(11, 22, 44, 66, 99, 88);

$sortarray = bubblesort($a);

print_r($sortarray);

function bubblesort($array) }}

/*}}}

*/return

$newarray; }

/*}}}

*/

2. 快速排序

/*以第乙個數為基準,比這個數大的數放到左邊的陣列,比這個數大的數放到右邊的陣列,然後做遞迴操作。

*最後將左邊陣列,這個數和右邊陣列做 陣列的 array_merge操作就行了

*/

//需求:將陣列中元素,從大到小排列

$a = array(11, 22, 44, 66, 99, 88);

$sortarray = bubblesort($a);

print_r($sortarray);

function fastsort($oldarray)

else

}/*}}}

*///

遞迴呼叫

$left_array = fastsort($left_array

);

$right_array = fastsort($right_array

);

//也可迴圈放入新陣列中

$newarray = array_merge($left_array, array($stand), $right_array

);

return

$newarray; }

/*}}}

*/

PHP常用排序演算法 氣泡排序 快速排序 插入排序

氣泡排序 兩兩交換數值,最小的值在最左邊,就如最輕的氣泡在最上邊。對整列數兩兩交換一次,最小的數在最左邊,每次都能得乙個在剩下的數中的最小 的數,冒 出來的數組成乙個有序區間,剩下的值組成一無序區間,且有序區間中每一元素值都比無序區間的小。快速排序 基準數,左右二個陣列,遞迴呼叫,合併。插入排序 排...

php排序演算法 氣泡排序和快速排序

總是對這兩種排序特別迷糊,今天趁活不多,認真看了下,也算對自己有個交代吧 第一 氣泡排序 預設從小到大排序 若從小到大則第二個引數為true function bubbling sort arr,state false else return arr 上午寫了冒泡法,整體思路還是很清晰的,但是到快速...

php實現排序演算法(一) 氣泡排序 快速排序

好久沒有來練習的自己的演算法技能了以至於很多基本的演算法都快忘記了。以前用c寫的演算法也不多。那麼今天開始吧!以後堅持每天晚上編寫一些簡單的演算法,堅持練習!氣泡排序是最簡單基礎的排序,但是由於好久沒寫 了,一開始寫下去還是不流暢。罪過罪過 氣泡排序原理,每次從待排序的序列裡面選出乙個最大或者最小的...