二分搜索 设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置I和大于x的最大元素位置j

public static int binarySearch(int []a,int x,int n)
{int left=0;
int right=n-1;
int i=j=0;
while(left<=right)
{int middle=(left+right)/2
if(x==a[middle])
{i=j=middle;
cout<<i<<" "<<j<<endl;
return true;
//如果搜索元素在数组中,i=j=middle为x的位置
}
if(x>a[middle])
left=middle+1
else right=middle-1;
}
i=right;
j=left;
cout<<i<<" "<<j<<endl;
return false;
}

算法设计与计算(改写二分搜索算法)(教材2-3)相关推荐

  1. 7-2 改写二分搜索算法 (20 分)

    题目来源:<计算机算法设计与分析>,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j.当搜索元素在数 ...

  2. Python改写二分搜索算法

    题目来源:<计算机算法设计与分析>,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j.当搜索元素在数 ...

  3. 改写二分搜索算法C++

    改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素位置i和大于x的元素位置j.当搜索元素在数组中时,i和j相同,均为x在数组中的位置. //二分查找 #include <bit ...

  4. PTA:改写二分搜索算法

    改写二分搜索算法 题目: 代码如下: #include<iostream> using namespace std; int binarySearch(int arr[], int x, ...

  5. C++——《算法分析与设计》实验报告——二分搜索算法

    实验名称: 二分搜索算法 实验地点: 实验目的: 理解分治算法的概念和基本要素: 理解递归的概念: 掌握设计有效算法的分治策略: 通过二分搜索技术学习分治策略设计技巧: 实验原理: 二分搜索算法也称为 ...

  6. 计算机思维与算法设计论文,计算思维_计算机算法的表示和设计.pptx

    计算思维;1.一般问题处理过程与计算机处理问题过程区别2.算法的表示3.变量及其赋值4.顺序结构算法5.选择结构/分支结构6.循环结构7.简单算法;一般问题处理过程与计算机处理问题过程有何不同呢?;1 ...

  7. [转载] python改写二分搜索算法_二分搜索算法模板python实现

    参考链接: Python中的二分搜索binary search 二分搜索的算法理解起来比较简单 但是边界条件容易出错,比如 循环结束条件中 left 和 right 的关系,更新 left 和 rig ...

  8. 【算法设计与分析】经典常考三十三道例题AC代码

    ❥小虾目前大三,我校在大一下开设<数据结构>这门课,大二上开了<算法设计与分析>这门课,很庆幸这两门课的上机考试总成绩一门100,一门99,最后总分也都90+.下文会给出机试的 ...

  9. Java1.使用二分搜索算法查找任意N个有序数列中的指定元素。 2.通过上机实验进行算法实现。 3.保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告。 4.至少使用两种方法进行编程,直接查

    1.使用二分搜索算法查找任意N个有序数列中的指定元素. 2.通过上机实验进行算法实现. 3.保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告. 4.至少使用两种方法进行编程,直接查找/递归 ...

最新文章

  1. 全局唯一ID生成方案
  2. TinyOS下TOSSIM仿真
  3. 阿姨帮悬赏通缉,紧急扩散!
  4. heartbeat自带的断网切换功能-ipfail
  5. 昨天,A站受黑客攻击千万条用户数据外泄,量子加密能救得了吗?
  6. 代码管理工具TortoiseGit配置(GIT的客户端)
  7. 如和用Python获取今日头条上面三千美女图,且看教程
  8. Golang实践录:调用C++函数
  9. 自动类型转化的鲜为人知的陷阱
  10. 企业沟通工具实现高效信息化沟通模式
  11. Excel 数据透视表入门教程
  12. 如何将.sql文件导入数据库
  13. 魅族手机无法链接ADB的解决方法
  14. 云端虚拟化技术的应用
  15. 如何下载网页中的小视频
  16. linux设置usb选择性暂停,usb大容量存储设备是什么?USB大容量存储设备无法启动怎么办?...
  17. P3426 [POI2005]SZA-Template(kmp、dp)
  18. ro服务器物品掉率修改,洪水世界如何调整物品爆率 物品掉率修改方法解析
  19. autocad 2014 闪退的一种解决办法: 点击菜单栏即闪退报错
  20. 局域网、广域网、Internet

热门文章

  1. servlet jsp 经典总结
  2. 基于Verilog HDL的数字秒表、波形发送器等设计
  3. fork exec时打开文件的变化
  4. 【LDPC编码】CDR系统中LDPC编码,LDPC编码的码长为9216
  5. 新冠病毒又被“扒掉一层皮”!西湖大学成功解析病毒细胞受体空间结构,助力研发特效药...
  6. c++运用继承多态类和对象指针重载设计的双卡通讯录管理系统
  7. 空间相关分析(二) 全局莫兰指数的理解与计算
  8. AD域账户删除记录追查
  9. Redis进阶——发布订阅详解
  10. linux作服务器的论文,基于Linux下的各种服务器技术及配置.rar