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;
}

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

相关推荐
乐迪信息几秒前
乐迪信息:基于AI算法的煤矿作业人员安全规范智能监测与预警系统
大数据·人工智能·算法·安全·视觉检测·推荐算法
程序员Aries11 分钟前
自定义网络协议与序列化/反序列化
linux·网络·c++·网络协议·程序人生
Pafey31 分钟前
MFC中一个类的成员变量值自动被篡改:多重继承带来的问题
c++·mfc
hsjkdhs39 分钟前
C++之多层继承、多源继承、菱形继承
开发语言·c++·算法
立志成为大牛的小牛1 小时前
数据结构——十七、线索二叉树找前驱与后继(王道408)
数据结构·笔记·学习·程序人生·考研·算法
星空下的曙光1 小时前
Node.js crypto模块所有 API 详解 + 常用 API + 使用场景
算法·node.js·哈希算法
Algo-hx1 小时前
数据结构入门 (七):从“链接”到“分支” —— 初探树与二叉树
数据结构
阳光雨滴1 小时前
使用wpf用户控件编程落石效果动画
c++·wpf
小贾要学习2 小时前
【数据结构】C++实现红黑树
数据结构·c++
ajassi20002 小时前
开源 C++ QT QML 开发(十七)进程--LocalSocket
c++·qt·开源