首頁  >  文章  >  後端開發  >  PHP實作的基本資料結構

PHP實作的基本資料結構

巴扎黑
巴扎黑原創
2016-11-30 11:15:182234瀏覽

//--------------------
//基本資料結構
//------------------ --

//二分查找(數組裡找某個元素)
functionbin_sch($array,$low,$high,$k){
if($low$mid=intval(( $low+$high)/2);
if($array[$mid]==$k){
return$mid;
}elseif($kreturnbin_sch($array, $low,$mid-1,$k);
}else{
returnbin_sch($array,$mid+1,$high,$k);
}
}
return-1;
}


///順序查找(數組裡找某個元素)
functionseq_sch($array,$n,$k){
$array[$n]=$k;
for($i=0;$iif($array[$i]==$k){
break;
}
}
if($ireturn$i;
}else{
return-1;
}
}

//線性表的刪除(數組中實現)
functiondelete_array_element($array,$i)
{
$len=count($array);
for($j=$i;$j$array[$j]=$array[$j+1];
}
array_pop($array);
return$array;
}

//冒泡排序(數組排序)
functionbubble_sort($array)
{
$count=count($array);
if($count
for($i=0;$ifor( $j=$count-1;$j>$i;$j--){
if($array[$j]$tmp=$array[$j] ;
$array[$j]=$array[$j-1];
$array[$j-1]=$tmp;
}
}
}
return$array;
}

//快速排序(陣列排序)
functionquicksort($array){
if(count($array)
$key=$array[0];
$left_arr=array();
$right_arr= array();

for($i=1;$iif($array[$i]$left_arr[]=$array[$ i];
else
$right_arr[]=$array[$i];
}

$left_arr=quicksort($left_arr);
$right_arr=quicksort($right_arr);

returnarray_arrge( $key),$right_arr);
}

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn