数据结构很重要,算法+数据结构+文档=程序
使用PHP描述冒泡排序算法,对象可以是一个数组
<STRONG>//冒泡排序(数组排序)<BR></STRONG>function bubble_sort($array) {<BR>$count = count($array);<BR>if ($count <= 0)<BR>return false;<BR>for($i=0; $i<$count; $i++){<BR>for($j=$coun<mark>(本文来)源gaodaimacom搞#^代%!码&网(</mark><pre>搞gaodaima代码
t-1; $j>$i; $j–){
if ($array[$j] < $array[$j-1]){
$tmp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $tmp;
}
}
}
return $array; }
使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
<STRONG>//二分查找(数组里查找某个元素)<BR></STRONG>function bin_sch($array, $low, $high, $k){<BR>if ($low <= $high){<BR>$mid = intval(($low+$high)/2);<BR>if ($array[$mid] == $k){<BR>return $mid;<BR>}elseif ($k < $array[$mid]){<BR>return bin_sch($array, $low, $mid-1, $k);<BR>}else{<BR>return bin_sch($array, $mid+1, $high, $k);<BR>}<BR>}<BR>return -1;<BR>}<BR><STRONG>//顺序查找(数组里查找某个元素)<BR></STRONG>function seq_sch($array, $n, $k){<BR>$array[$n] = $k;<BR>for($i=0; $i<$n; $i++){<BR>if($array[$i]==$k){<BR>break;<BR>}<BR>}<BR>if ($i<$n){<BR>return $i;<BR>}else{<BR>return -1;<BR>}<BR>}<BR>
写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
<STRONG>//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序<BR></STRONG>function array_sort($arr, $keys, $order=0) {<BR>if (!is_array($arr)) {<BR>return false;<BR>}<BR>$keysvalue = array();<BR>foreach($arr as $key => $val) {<BR>$keysvalue[$key] = $val[$keys];<BR>}<BR>if($order == 0){<BR>asort($keysvalue);<BR>}else {<BR>arsort($keysvalue);<BR>}<BR>reset($keysvalue);<BR>foreach($keysvalue as $key => $vals) {<BR>$keysort[$key] = $key;<BR>}<BR>$new_array = array();<BR>foreach($keysort as $key => $val) {<BR>$new_array[$key] = $arr[$val];<BR>}<BR>return $new_array;<BR>}<BR>