首页 后端开发 php教程 PHP数据结构(1) 二分查找

PHP数据结构(1) 二分查找

Aug 08, 2016 am 09:32 AM
array height mid search

       二分查找的基本思路是将一个有序数组取中间的那个值和所查找的值进行大小比较,当所查找的值大于数组的中间值时,即说明该有序数组中间值前的所有值都小于该查找的值,所以可以将该数组中间值前的所有值排除,再从该数组中间值到该数组末尾的值中继续查找所需值,其代码实现如下:

//二分查找
function bin_search($array,$search){
$low=0;
$height=count($array)-1;//获取数组长度

while($low$mid=floor(($low+$height)/2);//获取中间数,强制转换为floor类型,防止出错
if($array[$mid]==$search){
return $mid+1;//返回已找到的序号
}else if($array[$mid]//当中间值小于所查值时,则$mid左边的值都小于$search,此时要将$mid赋值给$low
$low=$mid+1;
}else if($array[$mid]>$search){
//此时说明中间值大于所查值,则$mid右边的所有值都大于$search,此时要将$mid赋值给$height
$height=$mid-1;
}
return "查找失败";//查找失败,数组中不存在该值

}

}
$arr=array(1,4,6,33,75,88,89,93);
echo bin_search($arr,33);
echo bin_search($arr,66);
?>

以上就介绍了PHP数据结构(1) 二分查找,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mid函数怎么用 mid函数怎么用 Aug 09, 2023 am 11:08 AM

mid函数用于从一个字符串中截取指定长度的子字符串,具体方法:1、VB中的mid函数,语法“Mid(string, start[, length])”;2、JavaScript中的mid函数,语法“string.slice(startIndex[, endIndex])”;3、Python中的mid函数,语法“string[startIndex:endIndex]”。

使用C#中的Array.Sort函数对数组进行排序 使用C#中的Array.Sort函数对数组进行排序 Nov 18, 2023 am 10:37 AM

标题:C#中使用Array.Sort函数对数组进行排序的示例正文:在C#中,数组是一种常用的数据结构,经常需要对数组进行排序操作。C#提供了Array类,其中有Sort方法可以方便地对数组进行排序。本文将演示如何使用C#中的Array.Sort函数对数组进行排序,并提供具体的代码示例。首先,我们需要了解一下Array.Sort函数的基本用法。Array.So

简单明了的PHP array_merge_recursive()函数使用方法 简单明了的PHP array_merge_recursive()函数使用方法 Jun 27, 2023 pm 01:48 PM

在进行PHP编程时,我们常常需要对数组进行合并。PHP提供了array_merge()函数来完成数组合并的工作,不过当数组中存在相同的键时,该函数会覆盖原有的值。为了解决这个问题,PHP在语言中还提供了一个array_merge_recursive()函数,该函数可以合并数组并保留相同键的值,使得程序的设计变得更加灵活。array_merge

如何使用PHP中的array_combine函数将两个数组拼成关联数组 如何使用PHP中的array_combine函数将两个数组拼成关联数组 Jun 26, 2023 pm 01:41 PM

在PHP中,有许多强大的数组函数可以使数组的操作更加方便和快捷。当我们需要将两个数组拼成一个关联数组时,可以使用PHP的array_combine函数来实现这一操作。这个函数实际上是用来将一个数组的键作为另一个数组的值,合并成一个新的关联数组。接下来,我们将会讲解如何使用PHP中的array_combine函数将两个数组拼成关联数组。了解array_comb

The Browser Company推出Arc Search:AI助力,搜索体验再升级 The Browser Company推出Arc Search:AI助力,搜索体验再升级 Feb 01, 2024 am 09:18 AM

1月31日消息,近日,TheBrowserCompany公司发布了一款名为ArcSearch的全新应用,该应用充分利用AI技术,旨在帮助用户更快速、便捷地获取所需信息。ArcSearch应用的核心特色在于其“Browseforme”功能,这一功能背后由OpenAI等公司的模型提供支持。当用户进行搜索时,该功能能够自动读取至少六个相关网页,并通过AI技术对这些信息进行整合与归纳,最终在一个全新设计的页面中展示给用户。这一页面不仅包含了搜索关键词的相关信息,还将内容划分为不同的部分,使用户能够更清晰

CSS 维度属性详解:height 和 width CSS 维度属性详解:height 和 width Oct 21, 2023 pm 12:42 PM

CSS维度属性详解:height和width在前端开发中,CSS是一种强大的样式定义语言。其中,height和width是两个最基本的维度属性,用于定义元素的高度和宽度。本文将对这两个属性进行详细解析,并提供具体的代码示例。一、height属性height属性用于定义元素的高度。可以使用像素(pixel)、百分比(percentage)或者

mid是什么格式 mid是什么格式 Apr 23, 2021 pm 03:45 PM

​mid格式是一种音频格式,是由MIDI继承而来,MID文件并不是一段录制好的声音,而是记录声音的信息,然后再告诉声卡如何再现音乐的一组指令;一个mid文件主要包括两部分,分别是标头数据和音轨数据。

PHP array_fill()函数用法详解 PHP array_fill()函数用法详解 Jun 27, 2023 am 08:42 AM

在PHP编程中,数组是一种非常重要的数据结构,能够轻松地处理大量数据。PHP中提供了许多数组相关的函数,array_fill()就是其中之一。本篇文章将详细介绍array_fill()函数的用法,以及在实际应用中的一些技巧。一、array_fill()函数概述array_fill()函数的作用是创建一个指定长度的、由相同的值组成的数组。具体来说,该函数的语法

See all articles