//--------------------
//基本資料結構
//------------------ --
//二分查找(數組裡找某個元素)
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;$i
else
$right_arr[]=$array[$i];
}
$left_arr=quicksort($left_arr);
$right_arr=quicksort($right_arr);
returnarray_arrge( $key),$right_arr);
}