二分搜索(非递归)

Posted dixinfan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分搜索(非递归)相关的知识,希望对你有一定的参考价值。

 1 public class Main{
 2     public static int binarySearch(int a[],int x,int n) {
 3         int left=0;
 4         int right=n-1;
 5         while(left<=right) {
 6             int middle=(left+right)/2;
 7             if(a[middle]==x) {
 8                 return middle;
 9             }
10             if(a[middle]<x) {
11                 left=middle+1;
12             }
13             else {
14                 right=middle-1;
15             }
16         }
17         return -1;
18     }
19     public static void main(String args[]) {
20         int a[]= {1,3,5,7,9};
21         System.out.println(binarySearch(a,7,a.length));
22     }
23 }

 

以上是关于二分搜索(非递归)的主要内容,如果未能解决你的问题,请参考以下文章

二分搜索(非递归)

JavaScript实现二分查找(搜索)算法(非递归实现)

06-二分搜索树 BST

二分查找实践

2019.9.25-二分查找代码(递归和非递归方法)

二分查找的递归和非递归写法