1. Using PHP to describe the bubble sort and quick sort algorithm, an object can be an array
function Bubble_sort ($array) { $count = count ($array); if ($count <= 0) return false; For ($i =0; $i < $count; $i + +) { For ($j = $count-1; $j > $i; $j –) { if ($array [$j] < $array [$j-1]) { $tmp = $array [$j]; $array [$j] = $array [$j-1]; $array [$j-1] = $tmp; } } } return $array; } function Quick_sort ($array) { if (count ($array) <= 1) return $array; $key = $array [0]; $left _arr = $right _arr = Array (); foreach ($array as $val) { if ($val < = $key) { $left _arr[] = $val; } else { $right _arr[] = $val; } } $left _arr = Quick_sort ($left _arr); $right _arr = Quick_sort ($right _arr); return Array_merge ($left _arr, Array ($key), $right _arr); } |
2. Using PHP to describe order lookup and binary lookup (also called binary lookup) algorithm, sequential lookup must consider efficiency, an object can be an ordered array
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]) { return Bin_sch ($array, $low, $mid-1, $k); }else{ return Bin_sch ($array, $mid +1, $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. Write a two-dimensional array sorting algorithm function, which can be universal, call PHP built-in functions
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; } |
PHP Algorithm Integration