//--------------------
// 基本資料結構演算法
//-------- ------------
//二分查找(在陣列中尋找某一元素)
function bin_sch($array, $ ( $low
$mid = intval(($low+$ $k){
return $mid ;
}elseif ( $k $mid-1, $k);
}else{
🠜 ($array, $mid+ 1, $high, $k);
}
}
//順序尋找(在陣列中尋找某一元素)
function seq_sch($array, $n, $k){
$array[$n] _$k n; $i++){
if( $array[$i]==$k){
}
if ($i }else{
return -1;
}
function delete_array_element($array , $i)
{
$len = count($array);
$array[$j] = $array [$j+1 ];
}
}
//冒泡排序(陣列排序)
function bubble_sort( $array)
{
{ );
if ($count
for($i=0 ; $i >$i; $j--){
$array[$j];
];
}
}
返回$array;
}
//快速排序(隊列排序)
function quick_sort($array ) {
if $key = $array [0];
$left_arr = array() ;
$right_arr = array();
if ($array[ $i]
$left_arr [com 其他
}
$left_arr = quick_sort($left_arr );
$right_arr = quick_sort( $right_arr);
}
//------------------------
// PHP內建字串函數實現
//----- -------------------
//字串長度
function strlen ($str)
{ ' ) return 0;
$count = 0;
🎠 if ( $str[$count] != NULL){
continue; continue;
}else{
break;
}
}
return $count;
}
//截取子串
function substr($str, $start, $length =NULL)
{
if ($str== '' || $1 $length!=NULL) && ( $start>0) && ($length> strlen($str)-$start)) return;
if (( $length! ) return;
if ($length == NULL) $length = (strlen );
if ($start (strlen( $str)+$start); $i $str[$i];
}
}
if ($length for ($i= $start; $i i];
}
if ( $length
ngth); $i++) {
$i];
}
}
return $substr;
}
//字符串翻轉
function strrev($str)
{
if ($ str == '') return 0 ;
for ($i=(strlen($str)- 1); $. $rev_str .= $str[$ i ];
}
return
函數strcmp($s1, $s2)
{
s1)
if (strlen($s1) > ($i =0; $i
if ($s1[ $i] == 繼續使用;
續; 返回false;
}
返回0;
str, $substr)
{
$m = strlen($str)
$n = strlen($substr );
($i=0; $i
$sub = substr($str, if ( strcmp($sub, $substr) == 0) return $i;
false;
}
//字串替換
function str_replace($substr , $newsubstr, $str)
$str);
$n = strlen($substr ) ;
$x = strlen($newsubstr );
);
for ( $i=0; $i
$str = str_delete ($str, $i, $n);
str_insert($str, $i, $newstr);
}
//------------------ --
// 自實作字串處理函數
//--------------------
//插入一段字串
//插入一段字串
function str_insert($str, $i , $substr)
{
$startstr .= $str[$j ];
}
for $laststr .= $str[$j ];
}
$str = ($startstr . $substr . $laststr); 🎠
//刪除一段字串
function str_delete($str , $i, $ j)
{
for ( $c=0; $c
}
c=( $i+$j); $c
}
$str = ($startstr . $laststr );
return $str;
}
{
if (strlen($s1)= =NULL || !isset( $s2)) return;
for ($i=0 $s2[] = $s1 [$i] ;
}
return $s2
//連接字串
function strcat($s1 , $s2)
{ 𠟠)$15705( ( $s2)) return;
$ newstr = $s1 ;
for($i=0; $i }
return $newsstr;
}
//簡單編碼函數(與php_decode
if ( $str=='' && strlen( $str)>128) return false;
for( $i=0; $i if ($c>31 && $c 106 && $c );
$s .= $word; 🎠 return $s;
}
//簡單解碼函數(以php_encode函數對應)
/簡單解碼函數(對應於php_encode函數)
function
{
if ( $str=='' && strlen($str )> i=0; $i
$c = ord($word); && $c $c = $c+75 ;
$word = ch $s .= $word ;
}
//簡單加密函數(對應於php_decrypt)
function php_encrypt($str)
'abcdefghijklmnopqrstuvwxyz1234567890';
$decrypt_key = 'ngzztcobmuhelpd268 if ( strlen($str) == 0) return false;
for ($i=0 for ($j=0; $ j
}
) return $enstr;
}
//簡單解密函數(以php_encrypt函數對應)
)function )
{
$encrypt_key = 'abcdefghijklmnopqrstuvwxyz12345678990567890'; decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';
for ($i=0 ; $i
if ($str[$ i] == $decrypt_key [$j]){
j
}
return $enstr;
}
?>
原地址:http://www.360doc.com/content/14/0319/16/153260150326015932603032319
以上就介紹了PHP實作各種經典演算法,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。