#######?基本的數(shù)據(jù)結(jié)構(gòu)?########
創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、奎屯網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為奎屯等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
//二分查找(數(shù)組里查找某個(gè)元素)
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;?
}?
//線性表的刪除(數(shù)組中實(shí)現(xiàn))
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;
}
//冒泡排序(數(shù)組排序)
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;
}
//快速排序(數(shù)組排序)
function?quicksort($array)?{
if?(count($array)?=?1)?return?$array;
$key?=?$array[0];
$left_arr?=?array();
$right_arr?=?array();
for?($i=1;?$icount($array);?$i++){
if?($array[$i]?=?$key)
$left_arr[]?=?$array[$i];
else
$right_arr[]?=?$array[$i];
}
$left_arr?=?quicksort($left_arr);
$right_arr?=?quicksort($right_arr);
return?array_merge($left_arr,?array($key),?$right_arr);
}
#######?自實(shí)現(xiàn)函數(shù)?#######
//插入一段字符串
function?str_insert($str,?$i,?$substr)
{
for($j=0;?$j$i;?$j++){
$startstr?.=?$str[$j];
}
for?($j=$i;?$jstrlen($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);?$cstrlen($str);?$c++){
$laststr?.=?$str[$c];
}
$str?=?($startstr?.?$laststr);
return?$str;
}
//復(fù)制字符串
function?strcpy($s1,?$s2)
{
if?(strlen($s1)==NULL?||?!isset($s2))?return;
for?($i=0;?$istrlen($s1);?$i++){
$s2[]?=?$s1[$i];
}
return?$s2;
}
//連接字符串
function?strcat($s1,?$s2)
{
if?(!isset($s1)?||?!isset($s2))?return;
$newstr?=?$s1;
for($i=0;?$icount($s);?$i++){
$newstr?.=?$st[$i];
}
return?$newsstr;
}
//簡單編碼函數(shù)(與php_decode函數(shù)對(duì)應(yīng))
function?php_encode($str)
{
if?($str==''??strlen($str)128)?return?false;
for($i=0;?$istrlen($str);?$i++){
$c?=?ord($str[$i]);
if?($c31??$c107)?$c?+=?20;
if?($c106??$c127)?$c?-=?75;
$word?=?chr($c);
$s?.=?$word;
}?
return?$s;?
}
//簡單解碼函數(shù)(與php_encode函數(shù)對(duì)應(yīng))
function?php_decode($str)
{
if?($str==''??strlen($str)128)?return?false;
for($i=0;?$istrlen($str);?$i++){
$c?=?ord($word);
if?($c106??$c127)?$c?=?$c-20;
if?($c31??$c107)?$c?=?$c+75;
$word?=?chr($c);
$s?.=?$word;
}?
return?$s;?
}
//簡單加密函數(shù)(與php_decrypt函數(shù)對(duì)應(yīng))
function?php_encrypt($str)
{
$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';
$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';
if?(strlen($str)?==?0)?return?false;
for?($i=0;?$istrlen($str);?$i++){
for?($j=0;?$jstrlen($encrypt_key);?$j++){
if?($str[$i]?==?$encrypt_key[$j]){
$enstr?.=?$decrypt_key[$j];
break;
}
}
}
return?$enstr;
}
//簡單解密函數(shù)(與php_encrypt函數(shù)對(duì)應(yīng))
function?php_decrypt($str)
{
$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';
$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';
if?(strlen($str)?==?0)?return?false;
for?($i=0;?$istrlen($str);?$i++){
for?($j=0;?$jstrlen($decrypt_key);?$j++){
if?($str[$i]?==?$decrypt_key[$j]){
$enstr?.=?$encrypt_key[$j];
break;
}
}
}
return?$enstr;
}?
到此為止吧:)
這是序列化數(shù)據(jù),可以使用php的反序列化函數(shù)直接轉(zhuǎn)換為數(shù)據(jù):unserialize
數(shù)組就是典型的數(shù)據(jù)結(jié)構(gòu)了,使用數(shù)組操作函數(shù),就可以實(shí)現(xiàn)單向和多向隊(duì)列了。
操作函數(shù)有:
array_shift
array_unshift
array_push
array_pop
PHP中的 explode() 函數(shù)可以實(shí)現(xiàn)此功能
語法
explode(separator,string,limit)
參數(shù) 描述
separator 必需,規(guī)定在哪里分割字符串。
string 必需,要分割的字符串。
limit 可選,規(guī)定所返回的數(shù)組元素的數(shù)目。
例如:
?php
$str = 'one
two
three
four';
$array = explode("\n",$str);
print_r($array);
?
輸出如下:
Array
(
[0] = one
[1] = two
[2] = three
[3] = four
)