이진검색 전에는 미리 asc 정렬이 필요하다.
1. 일단 로우 값 ~ 하이 값 의 중간값을 선택
2. 중간값이 34보다 작으면 다시 중간 값을 원래 중간 값 +1 로 재정의
3. 로우 - 하이가 값이 바뀌면 종료(탐색값이 없다.)
int binary_search(int list[], int n, int key)
{
int low, high, middle;
low = 0;
high = n-1;
while( low <= high ){ // 아직 숫자들이 남아있으면
middle = (low + high)/2; // 중간 요소 결정
if( key == list[middle] ) // 일치하면 탐색 성공
return middle;
else if( key > list[middle] )// 중간 원소보다 크다면
low = middle + 1; // 새로운 값으로 low 설정
else
high = middle - 1; // 새로운 값으로 high 설정
}
return -1;
}
1. 일단 로우 값 ~ 하이 값 의 중간값을 선택
2. 중간값이 34보다 작으면 다시 중간 값을 원래 중간 값 +1 로 재정의
3. 로우 - 하이가 값이 바뀌면 종료(탐색값이 없다.)
int binary_search(int list[], int n, int key)
{
int low, high, middle;
low = 0;
high = n-1;
while( low <= high ){ // 아직 숫자들이 남아있으면
middle = (low + high)/2; // 중간 요소 결정
if( key == list[middle] ) // 일치하면 탐색 성공
return middle;
else if( key > list[middle] )// 중간 원소보다 크다면
low = middle + 1; // 새로운 값으로 low 설정
else
high = middle - 1; // 새로운 값으로 high 설정
}
return -1;
}