http://blog.csdn.net/heiyeshuwu/article/details/787426
Author: heiyeluren
Blog:
Date: 2006-06-10 23:50
<?
// 基本数据结构算法
//--------------------
//二分查找(数组里查找某个元素)
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
$right_arr
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
if (($length!=NULL) && ($start>0) && ($length>strlen($str)-$start
if (($length!=NULL) && ($start<0) && ($length>strlen($str)+$start
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
for ($i=0; $i<strlen($s1); $i
$s2[] = $s1[$i
}
return $s2
}
function strcat($s1, $s2
{
if (!isset($s1) || !isset($s2
$newstr = $s1
for($i=0; $i<count($s); $i
$newstr .= $st[$i
}
return $newsstr
}
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
}
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
}
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
}
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/gxldan/archive/2011/07/03/4066689.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/28049
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!