我是靠谱客的博主 曾经太阳,最近开发中收集的这篇文章主要介绍二分查找及优化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include<bits/stdc++.h>
using namespace std;
int Binary_Search(int a[],int n,int k)//常规二分 
{
	int l=0,r=n-1,mid;
	while(l<=r)
	{
		mid=(l+r)/2;
		if(a[mid]==k)return mid;
		else if(a[mid]>k) r=mid-1;
		else l=mid+1;
	}
	return -1;
}
int Binary_Search2(int a[],int n,int k)//含相同值的情况下返回最左边下标 
{
	int l=0,r=n-1,mid;
	while(l<r)
	{
		mid=(l+r)/2;
		if(a[mid]==k)r=mid;
		else if(a[mid]>k) r=mid-1;
		else l=mid+1;
	}
	if(a[l]==k)return l;
	else return -1;
}
int main()
{
	int a[5]={0,1,1,2,5};
	int i,j;
	cout<<Binary_Search2(a,5,0)<<endl;
 } 

 

最后

以上就是曾经太阳为你收集整理的二分查找及优化的全部内容,希望文章能够帮你解决二分查找及优化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部