`
yuyeyi
  • 浏览: 38761 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

二分查找特定整数在整型数组中的位置

阅读更多
/** 
    *二分查找特定整数在整型数组中的位置(递归) 
    *@paramdataset 
    *@paramdata 
    *@parambeginIndex 
    *@paramendIndex 
    *@returnindex 
    */ 
    public int binarySearch(int[] dataset,int data,int beginIndex,int endIndex) { 
      int midIndex = (beginIndex+endIndex)/2; 
      if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex)return -1; 
      if(data <dataset[midIndex])  { 
          return binarySearch(dataset,data,beginIndex,midIndex-1); 
      }else if(data>dataset[midIndex])  { 
          return binarySearch(dataset,data,midIndex+1,endIndex); 
      }else  { 
          return midIndex; 
      } 
    } 
    
    /** 
    *二分查找特定整数在整型数组中的位置(非递归) 
    *@paramdataset 
    *@paramdata 
    *@returnindex 
    */ 
    public int binarySearch(int[] dataset ,int data) 
    { 
      int beginIndex = 0;  
      int endIndex = dataset.length - 1;  
      int midIndex = -1; 
      if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex)return -1; 
      while(beginIndex <= endIndex) { 
          midIndex = (beginIndex+endIndex)/2; 
          if(data <dataset[midIndex]) {  
          endIndex = midIndex-1;  
          } elseif(data>dataset[midIndex]) {  
          beginIndex = midIndex+1;  
          }else 
          { 
          return midIndex; 
          } 
      } 
      return -1; 
    } 
 
分享到:
评论

相关推荐

    C++数组元素位置的查找程序

    本程序的目的是帮助理解和实现如何在数组中查找特定元素的位置,这对于初学者来说是一个很好的实践课题。在此,我们将深入探讨数组的概念,查找算法以及如何在C++中实现这些概念。 首先,数组是有序的数据集合,...

    易语言数组中数值的查找

    3. **数值查找的基本思路**:在数组中查找特定数值,一般采用线性搜索(顺序遍历)或二分查找(已排序数组)。线性搜索简单易懂,从数组首元素开始逐个比较;二分查找效率更高,但要求数组先排序,适合大型数据集。 ...

    二分查找 杨辉三角 数组便利

    二分查找(Binary Search)是一种在有序数组中查找特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或...

    数据结构实验二分查找

    在这个实验报告中,我们关注的是“二分查找”这一数据结构算法,这是一种在有序列表中查找特定元素的方法。 二分查找算法的基本思想是利用排序后的数据特性,每次查找都将搜索范围减半。这种方法极大地提高了查找...

    编写数组函数程序

    程序的核心功能是实现折半查找(也称为二分查找),这是一种在有序数组中查找特定元素的搜索算法。其基本思想是将数组分为两半,然后比较中间元素与目标值,根据比较结果缩小搜索范围,直到找到目标元素或确定元素不...

    二分查找法.pptx

    这段代码是一个标准的二分查找算法实现,它定义了一个名为 `binarySearch` 的静态方法,接受一个整型数组 `list` 和一个整数 `key` 作为参数,返回目标元素在数组中的索引,或目标元素应插入的位置(未找到时)。...

    c# 中数组的算法 c# 中数组的算法,c# 中数组的算法

    `Array.IndexOf()`方法可以查找指定元素在数组中的索引。如果要提高搜索效率,可以使用二分搜索,但前提是数组必须已排序。 3. 遍历算法:`foreach`循环是遍历数组的常用方式,它可以简化代码并避免索引越界问题: ...

    C语言实现的二分法快速查找|二分法排序|二分法查找C#

    二分查找(Binary Search),又称折半查找,是一种在有序数组中查找特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,...

    C#实现 二分查找 折半查找

    二分查找,也称为折半查找,是一种在有序数组中搜索特定元素的高效算法。它利用了数组的线性特性,每次将待搜索区域减半,直到找到目标元素或者确定不存在为止。C#作为.NET框架的主要编程语言,提供了丰富的功能支持...

    数组元素查询

    例如,对于大型数据集,二分查找可以在已排序的数组中实现对目标值的高效查询,其时间复杂度为O(log n)。但是,这要求数组是有序的,且不适用于动态添加或删除元素的情况。 在实际编程中,数组元素查询广泛应用于...

    C++实现折半查找(二分查找)算法(含实现原理和步骤)

    二分查找,又称折半查找或对数查找,是一种在有序数组中高效地寻找特定元素的搜索算法。它的核心思想是利用数组的有序性,通过每次比较缩小查找范围,直到找到目标元素或者确定元素不存在。 **工作原理:** 1. 首先...

    C语言实现折半查找法(二分法)

    二分查找,又称折半查找,是一种在有序数组或列表中高效寻找特定元素的搜索算法。它的基本思想是将待查找的元素与数组中间位置的元素进行比较,根据比较结果来决定是在数组的左半部分还是右半部分继续查找。通过不断...

    项目中数组的使用

    6. 查找:寻找数组中特定元素的位置,如二分查找、线性查找等。 在“源码”和“工具”这两个标签下,我们可以推断这篇博客可能涉及到数组的实现细节或使用工具进行数组分析。例如,开发者可能会分享如何在代码中...

    C++二分法在数组中查找关键字的方法

    二分查找法(Binary Search)是一种高效的在有序数组中查找特定元素的算法。它通过将数组不断分成两半,每次比较目标值与数组中间元素,根据比较结果决定继续在左半部分还是右半部分查找,直到找到目标元素或确定...

    汽车牌照的排序与查找问题-数据结构与算法课程设计报告.pdf

    在进行查找操作时,同样将要查找的车牌号码转换为长整型数据,再在有序数组中应用二分查找法。 报告详细介绍了程序设计中的各个函数的作用和它们之间的关系。main函数作为程序的入口,负责程序流程的控制;Setlist...

    C语言数组初学者ppt

    - 常见的数组操作包括排序(如冒泡排序、快速排序)、查找(线性查找、二分查找)、插入和删除元素。这些操作是算法的基础,对于理解和编写高效的代码至关重要。 掌握数组是编程的基础,对于学习C语言或其他编程...

    有关于折半查找的问题

    折半查找,也称为二分查找,是一种在有序数组中搜索特定元素的高效算法。它基于分治策略,每次将搜索区间减半,直到找到目标元素或者搜索区间为空。在这个问题中,描述提到元素是整型量,并且按从小到大的顺序排列,...

    C语言教程 C语言程序设计教程PPT课件 第5章 数组 共94页.ppt

    最后,排序和查找算法是数组处理中常见的操作,理解基础的排序(如冒泡排序、选择排序)和查找(如线性查找、二分查找)算法对提高编程能力至关重要。 总之,C语言的数组是理解和编写程序的基础,熟练掌握数组的...

    119张强3

    二分查找是一种在有序数组中查找特定元素的搜索算法,它的核心思想是将数组分为两半,每次比较中间元素与目标值,根据比较结果决定在左半部分还是右半部分继续查找,直到找到目标值或者确定数组中不存在目标值。...

    java插入排序

    - **二分查找**:在有序数组中查找一个特定值,通过不断将查找区间减半来快速定位目标值。 - **应用场景**:在插入排序的过程中,当数组已经部分或全部有序时,可以通过二分查找快速确定新元素的插入位置,从而减少...

Global site tag (gtag.js) - Google Analytics