본문 바로가기

C++

[C++] 이진탐색 구현

#include <string>
#include <vector>
#include<iostream>
#include<unordered_map>
using namespace std;

int binary_search(int arr[], int num, int start, int end) {
	int index = (start + end) / 2;

	if (start == end && arr[index] != num)
		return -100;

	if (arr[index] == num)
		return index;
	else if (arr[index] > num)
		binary_search(arr, num, start, index - 1);
	else 
		binary_search(arr, num, index + 1, end);

}

void main() {
	int arr[17] = {1, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59};
	int res;
	res = binary_search(arr, 2, 0, 16);
	cout << res;
}