《PHP算法面试题及答案.docx》由会员分享,可在线阅读,更多相关《PHP算法面试题及答案.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PHP算法面试题及答案PHP算法面试题及答案php面试的时候有些面试官会考一些算法学问,下面我整理了 PHP算法面试题及答案,期望对大家有帮忙!1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组冒泡排序(数组排序)function bubble_sort($array)$count = count ($array);if ($count = 0) return false;for($i=0; $i$count; $i+)for($j=$count-l; $j$i; $j - ) if ($array$j Sarray$j-1)$tmp = Sarray$j;Sarray$j = $a
2、rray$j-l;Sarray$j-1 = $tmp;return $array;)快速排序(数组排序)function quick_sort($array) if (count ($array) = 1) return $array;$key = $array0;$left_arr = array();$right_arr = array ();for ($i=l; $i;$i+)if ($array$i = $key) $left_arr = $array$i;else ($right_arr = $array$i;$left_arr = quick_sort($left_arr);$ri
3、ght_arr = quick_sort($right_arr);return array_merge($left_arr, array ($key), $right_arr);)2.使用PHP描述挨次查找和二分查找(也叫做折半查找)算法, 挨次查找必需考虑效率,对象可以是一个有序数组二分查找(数组里查找某个元素)function bin_sch($array, $low, $high, $k)if ($low = $high)$mid = intval($low+$high)/2);if ($array$mid = $k) return $mid;elseif ($k $array$mid)
4、 return bin_sch ($array, $low, $mid-1, $k);else return bin_sch($array, $mid+l, $high, $k);)return -1;)挨次查找(数组里查找某个元素)function seq_sch($array, $n, $k) $array$n = $k;for($i=0; $i$n; $i+)if ($array$i=$k) break;)if ($i$n) return $i;else return -1;3.写一个二维数组排序算法函数,能够具有通用性,可以调用 php内置函数二维数组排序,$arr是数据,$keys是
5、排序的健值, $order是排序规章,1是升序,0是降序function array_sort($arr, $keys, $order=0) if (!is_array($arr) return false;$keysvalue = array();foreach($arr as $key = $val) $keysvalue$key = $val$keys.if ($order = 0) asort($keysvalue);else arsort ($keysvalue);reset ($keysvalue);foreach($keysvalue as $key = $vals) $keysort$key = $key;$new_array = array();foreach ($keysort as $key = $val) $new_array$key = $arr$val;return $new_array;文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有 需要的人。
限制150内