二分查找数组中的元素 c语言,对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的元素val,请...

// ConsoleApplication10.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include

#include

#include

using namespace std;

class BinarySearch {

public:

int getPos(vector A, int n, int val) {

// write code here

int beg = 0;

int end = n-1;

int mid = (beg + end) / 2;

int pos = -1;

while (beg<=end)

{

if (A[mid] == val)

{

--mid;

while (A[mid]==val && mid>=0)

{

--mid;

}

pos = mid + 1;

break;

}

else if (A[mid] < val)

{

beg = mid + 1;

mid= (beg + end) / 2;

}

else

{

end = mid - 1;

mid = (beg + end) / 2;

}

}

return pos;

}

};

int main()

{

vector A = { 3,3,5,7,9 };

int n = 5, val = 3;

BinarySearch bs;

cout << bs.getPos(A, n, 3) << endl;

return 0;

};

随机推荐

python在windows下获取cpu、硬盘、bios、主板序列号

测试 此处使用的是wmi库,可以去google里面搜索“python wmi” import os, sysimport timeimport wmi,zlib def get_cpu_info() ...

IPV6入门篇

引言 由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放.透明以及端到端的特性,因此IPV6地址协议应运而生.I ...

深入理解java虚拟机【垃圾回收算法】

Java虚拟机的内存区域中,程序计数器.虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭:栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构 ...

Yii2登陆添加验证码

models中 LoginForm.php public $verifyCode; public function rules() { return [ …… ['verifyCode', 'capt ...

CruiseControl&period;Net全面实现持续集成

使用CruiseControl.Net全面实现持续集成   持续集成想必大家很多人都听说过,甚至都实践过,最近我又一次亲历了一次持续集成,现将我的经验分享给大家.关于持续集成的理论在本文概不涉及,本文 ...

LinkedBlockingQueue中put源码分析

查看源码得知: LinkedBlockingQueue采用是锁分离的技术 //取出锁 private final ReentrantLock takeLock = new ReentrantLock( ...

剑指Offer-从上往下打印二叉树

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路 使用两个队列一个存放节点,一个存放值.先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子 ...

高性能Java RPC框架Dubbo与zookeeper的使用

https://blog.csdn.net/qq_38982845/article/details/83795295

ZeptoLab Code Rush 2015 A&period; King of Thieves 暴力

A. King of Thieves Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/526/pr ...

Apple Developer申请成功

上周日白天,我去申请了Apple Developer.我先是在百度上浏览了一些经验教程,但是点进苹果开发者官网时却发现完全不是那么一回事.盖因它的页面经常在变,如同现在苹果在主推tvOS这个对中国用户 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值