PHP算法面试题目及答案.docx
PHP算法面试题目及答案PHP算法面试题目及答案php是一种创建动态交互性站点的强有力的服务器端脚本语言。 下面我整理了 PHP算法面试题目及答案,期望对大家有帮忙!1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组冒泡排序(数组排序)functionbubble_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 $array$j-1)$tmp = $array$j;$array$j = $array$j-l;$array$j-l = $tmp;return $array;)快速排序(数组排序)functionquick_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);$right_arr =quick_sort($right_arr);returnarray_merge ($left_arr, array ($key), $right_arr);)2.使用PHP描述挨次查找和二分查找(也叫做折半查找)算法, 挨次查找必需考虑效率,对象可以是一个有序数组二分查找(数组 里查找某个元素)functionbin_sch($array, $low, $high, $k) (if ($low =$high)$mid =intval($low+$high)/2);if ($array$mid= $k) return $mid;elseif ($k $array$mid)returnbin_sch($array, $low,$k);else (returnbin_sch($array,$high, $k);return -1;)挨次查找(数组里查找某个元素)functionseq_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;可以调用$order 是3.写一个二维数组排序算法函数,能够具有通用性, php内置函数二维数组排序,$arr是数据,$keys是排序的健值, 排序规章,1是升序,0是降序functionarray_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($keysvalueas $key = $vals) $keysort$key =$key;$new_array =array();foreach ($keysortas $key = $val) $new_array$key= $arr$val;return$new_array;文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有 需要的人。