当前位置: 首页 > news >正文

网站做端口是什么问题河北百度竞价优化

网站做端口是什么问题,河北百度竞价优化,乐清发布网,新网互联的网站文章目录 一.二分查找简介二.二分查找的原理三.如何用C语言实现二分查找 一.二分查找简介 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中…

文章目录

  • 一.二分查找简介
  • 二.二分查找的原理
  • 三.如何用C语言实现二分查找

一.二分查找简介

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

它的优点是查找速度快,缺点是待查表为有序表。

二.二分查找的原理

假如要在一个有序数组(记为arr[mid])中查找元素a,那么可以先找到数组中间的元素,记为arr[mid],将将该元素与a比较大小,若该元素大于a,那么可将该元素的下一项记为最左边的项,再将这个最左边的项和最右边的项的中间项与a比较大小,以此类推。

三.如何用C语言实现二分查找

如图所示,以这样一个有序数组为例来查找数字7
在这里插入图片描述

将最左边的元素下标记为left,将最右边的元素下标记为right
在这里插入图片描述
首先可以查找最中间的元素,记为arr[mid],将它与k(即数字7)进行比较
在这里插入图片描述

若arr[mid] < k,则将 left 改为 mid + 1。
在这里插入图片描述
若arr[mid] > k,则将 right 改为 mid - 1。
在这里插入图片描述
若arr[mid] == k,循环结束。

		else if (arr[mid] == k) {printf("找到了,该元素下标是:%d", mid);break;}

剩下的思路以此类推即可。
不难得出这可以用一个while循环来实现,那么while循环的条件是什么?
由上可知,left一直在增加,而right一直在减少,直到最终查找出元素即可,若left <=right且未查找出指定元素时,循环继续进行。

while循环如图所示

	while (left<=right) {int mid = (left + right) / 2;if (arr[mid] < k) {left = mid + 1;}else if (arr[mid] > k) {right = mid - 1;}else if (arr[mid] == k) {break;}}

left>right时,指定元素还未查找出来,则说明该数组不存在该元素。

	if (left > right) {printf("对不起,没有找到该元素");}

整体代码如下:

	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int sz = sizeof(arr) / sizeof(arr[0]);int k = 7;int left = 0;int right = sz - 1;while (left<=right) {int mid = (left + right) / 2;if (arr[mid] < k) {left = mid + 1;}else if (arr[mid] > k) {right = mid - 1;}else if (arr[mid] == k) {printf("找到了,该元素下标是:%d\n", mid);break;}}if (left > right) {printf("对不起,没有找到该元素\n");}return 0;
http://www.yayakq.cn/news/795935/

相关文章:

  • lamp网站开发黄金组合北京工程交易信息网
  • 网站制作好在百度里可以搜到吗医院网站源码下载
  • 成都营销型网站设计做网站的流程分析-图灵吧
  • 招聘网站做销售怎么样国航网站建设
  • 北京网站推广|网站制作|网络推广|网站建设wordpress调整字体
  • 茶类网站建设方案培训心得体会500字
  • 空气净化器用什么网站做外贸网站行业
  • 微信广告服务商平台深圳网页制作搜行者seo
  • 建设网站套餐汕头市作风建设的网站
  • 网网站建设设计国外做健康的网站
  • 自字网站建设教程网拍外宣怎么推广
  • 网站中文域名到期有没有影响沈阳网站关键词
  • wap手机网站制作网站建设基础代码
  • wordpress安装后只显示英文站网站没有做404页面
  • 比较好的网站设计深圳网站建设易通鼎
  • 如何用代码制作网站建设钓鱼网站
  • 建立门户网站的程序网站建设公司海外
  • php网站运行很慢WordPress 模板 自适应
  • 长沙制作手机网站的公司网页建设软件
  • 深圳有什么网站网站静态图怎么做
  • 可以做富集分析的网站学php网站开发
  • 网站的建设步骤包括什么网站建设张景鹏
  • 网站的基本功能低代码
  • 石油大学网页设计与网站建设工信部资质查询网站
  • 淘宝首页网站怎么做一些网站只能在微信打开怎么做的
  • 手机如何制作网站和网页怎样在文章后做网站链接
  • 资讯类网站建设资质要求网页生成微信小程序
  • 城市分类信息网站系统济南开发网站
  • 阿里云二级域名建设网站搭建商城网站
  • 台州网站建设 网站制作 网站设计南昌模板建站定制网站