二分查找函数
//二分查找(数组里查找某个元素) 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,$mid-1,$k); }else{ return bin_sch($array,$mid+1,$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; } } 线性表的删除函数的实现
//线性表的删除(数组中实现) function delete_array_element($array,$i) { $len = count($array); for ($j=$i; $j<$len; $j++){ $array[$j] = $array[$j+1]; } array_pop($array); return $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 quicksort($array) { if (count($array) <= 1) return $array;
$key = $array[0]; $left_arr = array(); $right_arr = array();
for ($i=1; $i<count($array); $i++){ if ($array[$i] <= $key) $left_arr[] = $array[$i]; else $right_arr[] = $array[$i]; }
$left_arr = quicksort($left_arr); $right_arr = quicksort($right_arr);
return array_merge($left_arr,array($key),$right_arr); }
PHP内置字符串函数实现
//------------------------ // PHP内置字符串函数实现 //------------------------
//字符串长度 function strlen($str) { if ($str == '') return 0;
$count = 0; while (1){ if ($str[$count] != NULL){ $count++; continue; }else{ break; } } return $count; }
//截取子串函数实现
function substr($str,$start,$length=NULL) { if ($str=='' || $start>strlen($str)) return; if (($length!=NULL) && ($start>0) && ($length>strlen($str)-$start)) return; if (($length!=NULL) && ($start<0) && ($length>strlen($str)+$start)) return;
if ($length == NULL) $length = (strlen($str) - $start); if ($start < 0){ for ($i=(strlen($str)+$start); $i<(strlen($str)+$start+$length); $i++) { $substr .= $str[$i]; } }
if ($length > 0){ for ($i=$start; $i<($start+$length); $i++) { (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|