php的一些簡單演算法程式(冒泡 快速等)

2022-07-14 10:33:11 字數 1123 閱讀 4139

氣泡排序:

function buttle_sort($array

)

for($i=0;$i

<$len;$i++)}}

if(!$flag)//

本趟排序未發生交換,提前終止演算法

return

$array

;

}

選擇排序

1

<?php2//

選擇排序

3function selectsort($arr)4

9for ($i = 0; $i

< $count; $i ++) 15}

16if ($min != $i) 21}

22return

$arr

;23 }

氣泡排序其實上是和選擇排序相比,並無明顯差別。都是找到最小的,放到最左端。依次迴圈解決問題。差別在於氣泡排序的交換位置的次數較多,而選擇排序則是找到最小的元素的下標,然後直接和最左端的交換位置。

快速排序演算法:

1

//快速排序

2function quicksort(&$arr

)elseif($arr[$i]>$k)14

}15$x=quicksort($x

);16

$y=quicksort($y

);17

return

array_merge($x,array($k),$y

);18 }else

21 }

二分查詢

1

/**二分查詢:查詢乙個值在陣列中的位置

2* @$arr:操作的陣列,前提是按順序排列

3* @$val:查詢的值

4* @$low:查詢的起始位置,預設從陣列的第乙個數找起

5* @hight:查詢的結束位置**/6

function binarysearch($arr, $val, $hight, $low=0)elseif($arr[$mid] > $val

)else

16}

17return -1;

18 }

一些簡單的演算法

氣泡排序,比如你有五個數 3 4 2 1 0 其原理就是用沒個數和 其他數進行比較 下面我們來書寫每一輪的數值 第一輪 3 4 2 得出佇列 2 4 3 1 0 2 1 0 得出佇列 1 4 3 2 0 得出佇列 0 4 3 2 1 第二輪 4 3 得出佇列 0 3 4 2 1 3 2 1 得出佇列...

一些簡單的php函式

這幾天複習了php函式,溫故知新感覺加深了不少印象。下面就來介紹幾個在php中常用的函式吧。氣泡排序找最大值 function maopao a return max value php中的預設函式的使用 注 預設函式的形參智慧型寫在最右面 function def a,b false 可變引數列表...

一些常用的排序和查詢演算法(折半冒泡快排選擇歸併)

折半查詢 折半查詢 int binarysearch int num,int a,int length return 1 氣泡排序 氣泡排序 int bubblesort int a,int length 快速排序 有點小問題,忘了跳出迭代了 快速排序 void quicksort int a,in...