1236 - 二分查找

代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[1100000];
int main()
{
	int n,x,l,r,p,mid,i;
	cin>>n;
	for(i=1;i<=n;i++)
		cin>>a[i];
	cin>>x;
	l=1;
	r=n;
	p=-1;
	while(l<=r)
	{
		mid=(r+l)/2;
		if(a[mid]==x)
		{
			p=mid;
			break;
		}
		else if(x<a[mid]) r=mid-1;
		else if(x>a[mid]) l=mid+1;
	}
	cout<<(p==-1?-1:p);
	return 0;
}

记得点赞+关注+收藏!!!谢谢!!!

相关推荐
Dola_Pan1 小时前
C++算法和竞赛:哈希算法、动态规划DP算法、贪心算法、博弈算法
c++·算法·哈希算法
yanlou2331 小时前
KMP算法,next数组详解(c++)
开发语言·c++·kmp算法
小林熬夜学编程1 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
躺不平的理查德2 小时前
数据结构-链表【chapter1】【c语言版】
c语言·开发语言·数据结构·链表·visual studio
阿洵Rain2 小时前
【C++】哈希
数据结构·c++·算法·list·哈希算法
姜西西_2 小时前
动态规划 之 斐波那契数列模型 算法专题
算法·动态规划
Liknana2 小时前
C++ shared_ptr 动态内存
开发语言·c++
Daking-2 小时前
「STL::array」标准库容器:array(数组)介绍(C++)
开发语言·c++
格里菲斯8582 小时前
算法练习记录
算法
Leo.yuan2 小时前
39页PDF | 华为数据架构建设交流材料(限免下载)
数据结构·华为