php数据结构算法.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:21 大小:57KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

php数据结构算法.doc

php数据结构算法.doc

预览

免费试读已结束,剩余 11 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

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,$mid-1,$k);}else{returnbin_sch($array,$mid+1,$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;}}//线性表的删除(数组中实现)functiondelete_array_element($array,$i){$len=count($array);for($j=$i;$j<$len;$j++){$array[$j]=$array[$j+1];}array_pop($array);return$array;}//冒泡排序(数组排序)functionbubble_sort($array){$count=count($array);if($count<=0)returnfalse;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;}//快速排序(数组排序)functionquick_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);returnarray_merge($left_arr,array($key),$right_arr);}//------------------------//PHP内置字符串函数实现//------------------------//字符串长度functionstrlen($str){if($str=='')return0;$count=0;while(1){if($str[$count]!=NULL){$count++;continue;}else{break;}}return$count;}//截取子串functionsubstr($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++){$substr.=$str[$i];}}if($length<0){for($i=$start;$i<(strlen($str)+$length);$i++){$substr.=$str[$i];}}return$substr;}//字符串翻转functionstrrev($str){if($s