首頁 > 後端開發 > php教程 > PHP實作各種經典演算法

PHP實作各種經典演算法

WBOY
發布: 2016-07-29 09:01:03
原創
992 人瀏覽過
  
//--------------------  
// 基本資料結構演算法 
//-------- ------------  
//二分查找(在陣列中尋找某一元素)  
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教程有興趣的朋友有幫助。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板