[Algorithm] 이분 탐색

2020. 3. 3. 03:51Problem solving/Algorithm

이 포스트는 작성중입니다!

int binary_search(int data[], int num, int size) {
	int left = 0;
	int right = size - 1;
	int mid;
	mid = (left + right) / 2;
	while (left <= right) {
		if (data[mid] == num) return mid;
		else if (data[mid] > num) right = mid - 1;
		else left = mid + 1;
		mid = (left + right) / 2;
	}
	return -1;
}

오름차순으로 sort된 size만큼의 크기를 가지고있는 정수 배열 num이 data[]에서 몇번째에 위치하는지를 return 하는 함수입니다. num이 data[]에 존재하지 않는다면 -1을 return 합니다.