C++实现的二分查找

#include <iostream>
using namespace std;

//-------------------------------[二分查找]---------------------------------
int BinarySearch(int *arr, const int x, int left,  int right)
{
	while (1)
	{
		int middle = (left + right) / 2;
		if (x < arr[middle])
		{
			right = middle - 1;
			continue;
		}
		if (x == arr[middle])
		{
			return middle;
			break;
		}
		if (x > arr[middle])
		{
			left = middle + 1;
			continue;
		}
	}
}

//-----------------------------------[main]-----------------------------------
int main()
{
	int  arr[] = { 2,4,6,8,12,14,16,20 };
	int x = 16;
	cout << BinarySearch(arr, x, 0, 7);
	
	getchar();
}

猜你喜欢

转载自blog.csdn.net/Tomxiaodai/article/details/79815972