a
[알고리즘] 이진탐색 알고리즘
박은성/
2022. 3. 7. 16:20
반응형
int binarySrearchRecur(int A[], int left, int right, int key) {
int mid;
static int count = 0;
if(left <= right) {
count++;
mid = (left + right) / 2;
if(key == A[mid])
return count;
else if(key < A[mid])
return binarySrearchRecur(A, left, mid - 1, key);
else
return binarySrearchRecur(A, mid + 1, right, key);
}
return 0;
}
int binarySrearchIter(int A[], int left, int right, int key) {
int mid, count = 0;
while(left <= right) {
count++;
mid = (left + right) / 2;
if(key == A[mid])
return count;
else if(key < A[mid])
right = mid - 1;
else
left = mid + 1;
}
return 0;
}
int main(){
nt A[16];
srand(time(NULL));
for(int i = 0; i < 16; i++)
A[i] = 10;
A[rand() % 16] = 9;
for(int i = 0; i < 16; i++)
printf("%d ", A[i]);
printf("\n");
}
반응형