氣泡排序:
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...