php数据结构算法.docx
- 文档编号:10461024
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:8
- 大小:15.86KB
php数据结构算法.docx
《php数据结构算法.docx》由会员分享,可在线阅读,更多相关《php数据结构算法.docx(8页珍藏版)》请在冰豆网上搜索。
php数据结构算法
php数据结构算法
JS学习
//--------------------
//基本数据结构算法
//--------------------
//二分查找(数组里查找某个元素)
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;
} php基础
//顺序查找(数组里查找某个元素)
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;
}php基础
//冒泡排序(数组排序)
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;
}php基础
//快速排序(数组排序)
functionquick_sort($array){
if(count($array)<=1)return$array;
$key=$array[0];
$left_arr=array();
$right_arr=array();
for($i=1;$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)php基础 { 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]; } }php基础 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($str=='')return0; for($i=(strlen($str)-1);$i>=0;$i--){ $rev_str.=$str[$i]; } return$rev_str; } //字符串比较 functionstrcmp($s1,$s2) { if(strlen($s1) if(strlen($s1)>strlen($s2))return1; for($i=0;$i if($s1[$i]==$s2[$i]){ continue; }else{ returnfalse; } } return0; }php基础 //查找字符串 functionstrstr($str,$substr) { $m=strlen($str); $n=strlen($substr); if($m<$n)returnfalse; for($i=0;$i<=($m-$n+1);$i++){ $sub=substr($str,$i,$n); if(strcmp($sub,$substr)==0) return$i; } returnfalse; } //字符串替换 functionstr_replace($substr,$newsubstr,$str) { $m=strlen($str); $n=strlen($substr); $x=strlen($newsubstr); if(strchr($str,$substr)==false)returnfalse; for($i=0;$i<=($m-$n+1);$i++){ $i=strchr($str,$substr); $str=str_delete($str,$i,$n); $str=str_insert($str,$i,$newstr); } return$str; } //-------------------- //自实现字符串处理函数 //-------------------- //插入一段字符串 functionstr_insert($str,$i,$substr) { for($j=0;$j<$i;$j++){ $startstr.=$str[$j]; } for($j=$i;$j $laststr.=$str[$j]; } $str=($startstr.$substr.$laststr); return$str; }php基础 //删除一段字符串 functionstr_delete($str,$i,$j) { for($c=0;$c<$i;$c++){ $startstr.=$str[$c]; } for($c=($i+$j);$c $laststr.=$str[$c]; } $str=($startstr.$laststr); return$str; }php基础 //复制字符串 functionstrcpy($s1,$s2) { if(strlen($s1)==NULL||! isset($s2))return; for($i=0;$i $s2[]=$s1[$i]; } return$s2; } //连接字符串 functionstrcat($s1,$s2) { if(! isset($s1)||! isset($s2))return; $newstr=$s1; for($i=0;$i $newstr.=$st[$i]; } return$newsstr; } //简单编码函数(与php_decode函数对应) functionphp_encode($str) { if($str==''&&strlen($str)>128)returnfalse; for($i=0;$i $c=ord($str[$i]); if($c>31&&$c<107)$c+=20; if($c>106&&$c<127)$c-=75; $word=chr($c); $s.=$word; } return$s; } //简单解码函数(与php_encode函数对应) functionphp_decode($str) { if($str==''&&strlen($str)>128)returnfalse; for($i=0;$i $c=ord($word); if($c>106&&$c<127)$c=$c-20; if($c>31&&$c<107)$c=$c+75; $word=chr($c); $s.=$word; } return$s; } //简单加密函数(与php_decrypt函数对应) functionphp_encrypt($str) { $encrypt_key='abcdefghijklmnopqrstuvwxyz1234567890'; $decrypt_key='ngzqtcobmuhelkpdawxfyivrsj2468021359'; if(strlen($str)==0)returnfalse; for($i=0;$i for($j=0;$j if($str[$i]==$encrypt_key[$j]){ $enstr.=$decrypt_key[$j]; break; } } } return$enstr; } //简单解密函数(与php_encrypt函数对应) functionphp_decrypt($str) { $encrypt_key='abcdefghijklmnopqrstuvwxyz1234567890'; $decrypt_key='ngzqtcobmuhelkpdawxfyivrsj2468021359'; if(strlen($str)==0)returnfalse; for($i=0;$i for($j=0;$j if($str[$i]==$decrypt_key[$j]){ $enstr.=$encrypt_key[$j]; break; } } } return$enstr; } ? > php基础
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- php 数据结构 算法
