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

2021-07-04 01:32:34 字數 1185 閱讀 3978

好久沒有來練習的自己的演算法技能了以至於很多基本的演算法都快忘記了。

以前用c寫的演算法也不多。那麼今天開始吧!以後堅持每天晚上編寫一些簡單的演算法,堅持練習!

氣泡排序是最簡單基礎的排序,但是由於好久沒寫**了,一開始寫下去還是不流暢。。。罪過罪過

氣泡排序原理,每次從待排序的序列裡面選出乙個最大或者最小的元素放到已經排好序的序列後面。知道最後待排序的序列為無;

以下是用php實現的氣泡排序,

注意以下幾點:

1)當帶排序的陣列為無的時候直接退出,避免出錯。

2) 尼瑪陣列都忘記怎麼寫了,我真是該死。

<?php

function

bubblesort

($array)

echo

$count;

for($i = 0; $i

< $count; $i++)}}

return

$array;

} $array = array(1,45,2,4,54,2,45,6);

print_r(bubblesort($array));

?>

原理: 快速排序是對氣泡排序的一種改進,基本思想是通過一趟排序將要排序的資料分成兩部分,其中的一部
分比另一部分所有資料都小,然後按此方法對著兩部分的資料分別進行快速排序,整個排序過程可以遞迴進行,以此

達到資料變成有序序列。

<?php

function quicksort($arr)

$key = $arr[0];

$left_arr = array();

$right_arr = array();

for($i = 1; $i

< $count; $i++)else

}$left_arr = quicksort($left_arr);

$right_arr = quicksort($right_arr);

return array_merge($left_arr,array($key),$right_arr);

}$arr = array(23,4,6,46,34,23,6234,34,12,34);

print_r(quicksort($arr));

PHP實現氣泡排序演算法

function bubblesort arr 在要排序的一組數中,從前往後對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即,每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換位置 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2...

排序演算法(快排,冒泡)

排序目的 快速查詢 排序演算法優劣的判斷條件 1.時間複雜度 2.空間複雜度 3.穩定性 關鍵字值相等的數字們,排完序之後順序不變 十大排序演算法 需要掌握的的 氣泡排序 快速排序 希爾排序 折半插入排序 堆排序 氣泡排序 依次比較第i個數與第i 1個數的大小,如果符合條件則不變,如果不符合條件,兩...

PHP演算法(一) 氣泡排序

概念 對乙個陣列進行公升序或降序排列。運用每次比較相鄰資料的大小的方法,將值小資料放在前面 或後面 降序舉例 arr 5,2,8,4,7,1,6,3 乙個無序的陣列 count count arr 陣列長度 for i 0 i count 1 i return arr 輸出結果 8,7,6,5,4,...