PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제3장 PHP에서 꼭 알아두어야 할 함수

    11. 예제 : 순차검색, 이분검색

문제1. 순차검색

 

<?
$arr = array( 5,3,6,9,4,2,8,7 );
$key = 9;

$n = count($arr);

for($i=0; $i < $n; $i++) printf("%d  ", $arr[$i] );

for($i=0; $i < $n; $i++) {
	if($arr[$i] == $key) {
		break;
	}
}
echo("<br>\n");
if($i != $n){
	$i++;
	echo("<br>${key}는 ${i}번째에서 검색 되었습니다.<br>\n");
}
else
	echo("<br>${key}는 찾을 수 없습니다.<br>\n");
?>


 
문제1. 이분검색




<?
$s = array (5,3,6,9,4,2,8,7);
$k = 8;

$n = count($s);

function bsort(){
	global $s,$n;
   
   for($i=0; $i < ($n-1); $i++) {
	for($j = ($i+1); $j < $n; $j++) {
		if($s[$i] > $s[$j]) {
		   $temp = $s[$j];
		   $s[$j] = $s[$i];
		   $s[$i] = $temp;
		}
	}
   } 
}

function location($low,$high){
	global $s,$k;

	if($low > $high) 
		return -1;
	else {
		$mid = floor(($low + $high)/2);
		if($k == $s[$mid]) 
			return $mid;
		elseif ($k < $s[$mid]) 
			return location($low, $mid - 1);
		else  
			return location($mid + 1, $high);
	}
}

echo("<br>Input Data \t: ");
for($i=0;$i<$n;$i++) printf("%d  ",$s[$i]);

bsort();

echo("<br>Sorting Data \t: ");
for($i=0;$i<$n;$i++) printf("%d  ",$s[$i]);
echo("<br>");

$key = location(0,$n - 1);

$key ++;

echo("<br>Seach Result : ");

if($key > 0)
	echo("$k is Found(<b> $key </b>).<br>");
else
	echo("${k} is Not Found.<br>");

?>

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.