二分查找

孤者浪人 提交于 2021-02-12 15:41:30
#include <iostream>
using namespace std;

int binarySearch(int a[],int n,int key)
{
	int low,high,mid;
	low = 0;
	high = n-1;
	while(low <= high)  //记得这个等号...
	{
		mid = (low + high)/2;
		if (key < a[mid])
			high = mid - 1;
		else if (key > a[mid])
			low = mid + 1;
		else
			return mid;
	}
}

int main(int argc, char const *argv[])
{
	int a[] = {1,1,2,3,5,7,9};
	int pos = binarySearch(a,sizeof(a)/sizeof(int),5);
	cout << pos;
	return 0;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!