//-------
//기본 데이터 구조
//------------ --------
//이진 검색(배열에서 요소 검색)
functionbin_sch($array,$low,$high,$k){
if( $ low<=$high){
$mid=intval(($low+$high)/2);
if($array[$mid]==$k){
return$mid;
}elseif($k<$array[$mid]){
returnbin_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;$i<$n;$ i++){
if($array[$i]==$k){
break;
}
}
if($i<$n){
return$ i;
}else{
return-1;
}
}
//선형 테이블 삭제(배열로 구현)
functiondelete_array_element($array,$i )
{
$len=count($array);
for($j=$i;$j<$len;$j++){
$array[$j]=$array [$j +1];
}
array_pop($array);
return$array;
}
//버블 정렬(배열 정렬)
functionbubble_sort( $array )
{
$count=count($array);
if($count<=0)returnfalse;
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;
}
//빠른 정렬(배열 정렬)
functionquicksort($array){
if (count ($array)<=1)return$array;
$key=$array[0];
$left_arr=array();
$right_arr=array();
for($i=1;$i
$left_arr[] =$ 배열[$i];
else
$right_arr[]=$array[$i];
}
$left_arr=quicksort($left_arr);
$ right_arr=quicksort($right_arr);
returnarray_merge($left_arr,array($key),$right_arr);
}