首页 > 代码库 > 二分查找

二分查找

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。

假设其数组长度为n,其算法复杂度为o(log(n))

代码:

#include <iostream>

using namespace std;

bool BinarySearch(int data[],int start, int end, int number){
	
	while(start <= end){
		int mid=(start + end ) / 2;
		if(data[mid] == number){
			return true;
		}
		if(data[mid] > number){
			end = mid - 1;
		}else{
			start = mid + 1;
		}
	}
	return false;
}

int main(){
	int input[9]={0,1,1,1,3,4,5,6,7};
    cout<<	BinarySearch(input,0,8,8);
	return 0;

}

运行结果: