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

2021-06-27 06:07:09 字數 1057 閱讀 7102

氣泡排序:兩兩交換數值,最小的值在最左邊,就如最輕的氣泡在最上邊。對整列數兩兩交換一次,最小的數在最左邊,每次都能得乙個在剩下的數中的最小 的數,「冒」出來的數組成乙個有序區間,剩下的值組成一無序區間,且有序區間中每一元素值都比無序區間的小。

快速排序:基準數,左右二個陣列,遞迴呼叫,合併。

插入排序:排序區間分成二部分,左邊有序,右邊無序,從右區間取第乙個元素插入左區間,若此元素比左邊區間最右邊的元素大,留在原處,若此元素比左 邊區間最右邊的元素小,則插在最右邊元素的原位置,同時最右邊元素右移一位,計算器減一,重新和前面的元素比較,直到前面的元素比要插入元素小為止,重複 上述步驟。

注意區間端點值的處理,及陣列的第乙個元素下標為0.

<?php

//php常用排序演算法

function bubblesort ($array)}}

return $array;

}$array = array (3,6,1,5,9,0,4,6,11);

print_r (bubblesort ($array));

echo '';

function quicksort ($array)

$key = $array['0'];

$array_r = array ();

$array_l = array ();

for ($i = 1; $i < $n; $i++)

else

}$array_r = quicksort ($array_r);

$array_l = quicksort ($array_l);

$array = array_merge ($array_l, array($key), $array_r);

return $array;

}print_r (quicksort ($array));

echo '';

function insertsort ($array)

}return $array;

}print_r (insertsort ($array));

?>

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

氣泡排序實現原理 首先將所有待排序的數字放入工作列表中。從列表的第乙個數字到倒數第二個數字,逐個檢查 若某一位上的數字大於他的下一位,則將它與它的下一位交換。重複步驟 直至再也不能交換。實現 複製 如下 氣泡排序 by www.jbxue.com function bubbingsort array...

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

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

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

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