日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 算法

發布時間:2023/12/1 php 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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++)?{??
????????????????????????$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;??
}??
//字符串翻轉??
function?strrev($str)??
{??
????????if?($str?==?'')?return?0?;??
????????for?($i=(strlen($str)-?1);?$i>=0;?$i?--){??
????????????????$rev_str?.=?$str[$i?];??
????????}??
????????return?$rev_str;??
}??

//字符串比較??
function?strcmp($s1,??$s2)??
{??
????????if?(strlen($s1)?<??strlen($s2))?return?-1?;??
????????if?(strlen($s1)?>?strlen(?$s2))?return?1;??
????????for?($i?=0;?$i<strlen($s1?);?$i++){??
????????????????if?($s1[?$i]?==?$s2[$i]){??
????????????????????????continue;??
????????????????}else{??
????????????????????????return?false;??
????????????????}??
????????}??
????????return??0;??
}??

//查找字符串??
function??strstr($str,?$substr)??
{??
?????????$m?=?strlen($str);??
????????$n?=?strlen($substr?);??
????????if?($m?<?$n)?return?false?;??
????????for?($i=0;?$i?<=($m-$n+1);?$i?++){??
????????????????$sub?=?substr(?$str,?$i,?$n);??
????????????????if?(?strcmp($sub,?$substr)?==??0)??return?$i;??
????????}??
????????return?false?;??
}??
//字符串替換??
function?str_replace($substr?,?$newsubstr,?$str)??
{??
?????????$m?=?strlen($str);??
????????$n?=?strlen($substr?);??
????????$x?=?strlen($newsubstr?);??
????????if?(strchr($str,?$substr?)?==?false)?return?false;??
????????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?;??
}??

//--------------------??
//?自實現字符串處理函數?
//--------------------??
//插入一段字符串??
function?str_insert($str,?$i?,?$substr)??
{??
????????for($j=0?;?$j<$i;?$j?++){??
????????????????$startstr?.=?$str[$j?];??
????????}??
????????for?($j=$i;?$j?<strlen($str);?$j?++){??
????????????????$laststr?.=?$str[$j?];??
????????}??
????????$str?=?($startstr?.?$substr??.?$laststr);??
????????return?$str?;??
}??
//刪除一段字符串??
function?str_delete($str?,?$i,?$j)??
{??
????????for?(?$c=0;?$c<$i;??$c++){??
????????????????$startstr?.=?$str?[$c];??
????????}??
????????for?($c=(?$i+$j);?$c<strlen?($str);?$c++){??
????????????????$laststr??.=?$str[$c];??
????????}??
?????????$str?=?($startstr?.?$laststr?);??
????????return?$str;??
}??
//復制字符串??
function?strcpy($s1,?$s2?)??
{??
????????if?(strlen($s1)==NULL?||?!isset(?$s2))?return;??
????????for?($i=0?;?$i<strlen($s1);??$i++){??
????????????????$s2[]?=?$s1?[$i];??
????????}??
????????return?$s2;??
}??
//連接字符串??
function?strcat($s1?,?$s2)??
{??
????????if?(!isset($s1)?||?!isset(?$s2))?return;??
????????$newstr?=?$s1?;??
????????for($i=0;?$i?<count($s);?$i?++){??
????????????????$newstr?.=?$st[$i?];??
????????}??
????????return?$newsstr;??
}??
//簡單編碼函數(與php_decode函數對應)??
function?php_encode($str)??
{??
????????if?(?$str==''?&&?strlen(?$str)>128)?return?false;??
????????for(?$i=0;?$i<strlen?($str);?$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函數對應)??
function?php_decode($str)??
{??
????????if?(?$str==''?&&?strlen($str?)>128)?return?false;??
????????for(?$i=0;?$i<strlen?($str);?$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函數對應)??
function?php_encrypt($str)??
{??
?????????$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';??
?????????$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';??
????????if?(?strlen($str)?==?0)?return??false;??
????????for?($i=0;??$i<strlen($str);?$i?++){??
????????????????for?($j=0;?$j?<strlen($encrypt_key);?$j?++){??
????????????????????????if?($str[$i]?==?$encrypt_key?[$j]){??
????????????????????????????????$enstr?.=??$decrypt_key[$j];??
????????????????????????????????break;??
????????????????????????}??
????????????????}??
????????}??
????????return?$enstr;??
}??
//簡單解密函數(與php_encrypt函數對應)??
function?php_decrypt($str)??
{??
?????????$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';??
?????????$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';??
????????if?(?strlen($str)?==?0)?return??false;??
????????for?($i=0;??$i<strlen($str);?$i?++){??
????????????????for?($j=0;?$j?<strlen($decrypt_key);?$j?++){??
????????????????????????if?($str[$i]?==?$decrypt_key?[$j]){??
????????????????????????????????$enstr?.=??$encrypt_key[$j];??
????????????????????????????????break;??
????????????????????????}??
????????????????}??
????????}??
????????return?$enstr;??
}??

?>?

轉載于:https://www.cnblogs.com/guoshuai-yangxu/p/10394459.html

總結

以上是生活随笔為你收集整理的php 算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。