二分查找-非递归(java)

简介: 二分查找-非递归(java)
public class BinarySearchNoRecur {
    public static void main(String[] args) {
        int size=100;
        int target=10;
        int[] arr=new int[size];
        for (int i = 0; i<size; i++) {
            arr[i]=i+1;
        }
        System.out.println(binarySearch(arr,0));
    }
 
    /**
     * 二分查找的非递归实现
     *
     * @param arr    待查找的数组
     * @param target 查找的树
     * @return 下标,没有返回-1;
     */
    public static int binarySearch(int[] arr, int target) {
        int left = 0;
        int right = arr.length - 1;
        int cur;
        while (left <= right) {
            int mid = (left + right) / 2;
            cur = arr[mid];
            if (cur == target) {
                return mid;
            }
            if (target > cur) {
                left = mid + 1;
            }
            if (target < cur) {
                right = mid - 1;
            }
        }
        return -1;
    }
}
-1
目录
相关文章
|
2月前
|
Java
java实现二分查找
java实现二分查找
25 0
|
10月前
|
Java
【Java每日一题,左二分查找】Where is the Marble?
【Java每日一题,左二分查找】Where is the Marble?
|
3天前
|
算法 Java 机器人
Java数据结构与算法:查找算法之二分查找
Java数据结构与算法:查找算法之二分查找
|
9天前
|
存储 算法 Java
Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。
【6月更文挑战第21天】Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。简单哈希表实现未涵盖冲突解决和删除操作。
15 1
|
5天前
|
Java
二分查找-递归(java)
二分查找-递归(java)
7 0
|
9天前
|
人工智能 算法 Java
二分查找Java版
二分查找Java版
12 0
|
17天前
|
Java
Java二分查找小例子
Java二分查找小例子
10 0
|
2月前
|
存储 算法 Java
二分查找(Java) 详细讲解 一文足矣
二分查找(Java) 详细讲解 一文足矣
|
2月前
|
存储 算法 Java
java查找算法:二分查找、哈希查找等
java查找算法:二分查找、哈希查找等
32 1
Java实现二分查找
描述: 给定一个排好序的数组arr和一个数字x,让你在数组中找到x的下标,如果没有就返回-1;
116 0