ホームページ > バックエンド開発 > PHPチュートリアル > PHP はさまざまな古典的なアルゴリズムを実装します

PHP はさまざまな古典的なアルゴリズムを実装します

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-29 09:01:03
オリジナル
1014 人が閲覧しました

//---------- -------------
//二分探索 (配列内の要素の検索)
function bin_sch($array, $low, $high, $k){
if ($low <= $high){
Return $ MID} Elseif ($ k & lt; $ array [ $ mid]) {
return bin_sch ($ array, $ low, $ k);
} else {
{
return bin_sch($array, $mid+ 1, $high, $k); }
//逐次検索(配列要素内の特定の項目を検索)
function seq_sch($array, $n, $k){
$array[$n] = $k;
for($i=0; $i<$n; $i++) {
if ($i<$n){
return $i }else{
return -1 ;}}
//線形テーブルの削除(配列に実装)使用の使用を使用して、使用を使用してOut Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Out Outから  
//冒泡排序(数组排序)
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
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; )
{
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);

for ($i =(strlen( $str)+$start); ;(strlen ($str)+$start+$length ); $i++) {
}
}
if ($length > 0){
for ($i= $start; $ i<($start+$length); $i++) {
[$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)) -1 を返します。  
if (strlen($s1) > strlen( $s2)) return 1;  
for ($i =0; $i
if ($s1[ $i] == $s2[$i]){
続けます。  
else{
return false;  
}
}
return 0;  
}
//查找文字列
関数 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) ;
i<=($m - $n+1){
str_insert($str, $i, $newstr); --
//セルフ-実装された文字列処理関数
//----------------------------
//文字列を挿入する
関数str_insert($str, $i, $substr)
{
for($j=0; $j<$i; $j++){
]; function str_delete($str , $i, $j)
{
for ( $c=0; $c<$i; $c++){
$startstr .= $str [$c]
$c =( $i+$j); $c
$str = ($startstr . $laststr );ストラ;
}
/ /文字列をコピー
function strcpy($s1, $s2)
{
If (strlen($s1) ==NULL || !isset( $s2)) return; =0; $i
$s2[] = $s1 [$i ];
//接続文字列
function strcat($s1, $s2)
{
if (!isset($s1) || !isset($s2)) return; = $s1;
for($i=0; $i
} Return $ Newsstr;
// 単純なエンコードfunction (PHP_DECODE 関数に対応)
Function php_encode ($ Str) {
if ($ Str == '' && Strlen ( $str)>128) return false;
for( $i= 0; ($c );
//簡易デコード関数(php_encode関数に相当)
function php_decode ($str)
{
if ($str==''&& strlen($str)> 128) false を返す
for($i=0; $i
$c
//簡易暗号化関数(php_decrypt関数に相当)
function php_encrypt($str)
{
$encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567 890'; len($str) == 0) false を返します;
for ($i=0; $i
for ($j=0; $ j & lt; strlen ($ enCrypt_Key); $ j ++) {
if ($ Str [$ i] == $ Encrypt_Key [$ j]) {
$ ENSTR. = $ Decrypt_Key [$ j]

}
} return $enstr;
}
//単純な復号化関数 (php_encrypt 関数に対応)
function php_decrypt($str )
{
yivrsj2468021359';
if (strlen( $str) == 0) false を返します
for ($i= 0; $i
if ($str [$i] == $decrypt_key [$j]){
休憩
$ enstr;
}
?> 上記では、PHP のさまざまな古典的なアルゴリズムの実装をその側面も含めて紹介していますが、PHP チュートリアルに興味のある友人に役立つことを願っています。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート