1 / 21
文档名称:

php数据结构算法.doc

格式:doc   大小:57KB   页数:21
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

php数据结构算法.doc

上传人:marry201208 2017/4/22 文件大小:57 KB

下载得到文件列表

php数据结构算法.doc

相关文档

文档介绍

文档介绍: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]){ 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; }} // 线性表的删除(数组中实现) 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 quick_sort($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 = quick_sort($left_arr); $right_arr = quick_sort($right_arr); return array_merge($left_arr, array($key), $right_arr); } //------------------------ // 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