티스토리 뷰
#include <stdio.h>
int BSearch(int ar[], int len, int target);
int main(void) {
int arr[] = { 1, 3, 5, 7, 9 };
int idx;
idx = BSearch(arr, sizeof(arr) / sizeof(int), 7);
if (idx == -1) {
printf("탐색 실패 \n");
}
else {
printf("타겟 저장 인덱스: %d \n", idx);
}
idx = BSearch(arr, sizeof(arr) / sizeof(int), 4);
if (idx == -1) {
printf("탐색 실패 \n");
}
else {
printf("타겟 저장 인덱스: %d \n", idx);
}
return 0;
}
int BSearch(int ar[], int len, int target) {
int first = 0;
int last = len - 1;
int mid;
while (first <= last) {
mid = (first + last) / 2;
if (target == ar[mid]) {
return mid;
}
else {
if (target < ar[mid]) {
last = mid - 1;
}
else {
first = mid + 1;
}
}
}
return -1;
}
'C, C++ > 데이터구조 & 자료구조' 카테고리의 다른 글
C언어 재귀 팩토리얼(Factorial) 예제 (0) | 2016.06.06 |
---|---|
C언어 기초 재귀(Recursive) 예제 (0) | 2016.06.06 |
C언어 이진탐색 최악 연산 조건 (BinarySearch Worst Op Count) (0) | 2016.06.06 |
C언어 재귀 기초 팩토리얼 예제 (0) | 2016.06.06 |
C언어 순차탐색 알고리즘 (Linear Search Algorithm) (0) | 2016.06.06 |
티스토리 방명록
- Total
- Today
- Yesterday
Contact: j0n9m1n1@gmail.com