二分查找-非递归(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
相关文章
|
12月前
|
Java
在 Java 中实现二分查找法
【10月更文挑战第9天】
174 1
|
12月前
|
算法 Java
java冒泡排序与二分查找(详解)
java冒泡排序与二分查找(详解)
121 4
|
算法 Java
Java 使用二分查找快速定位元素位置
Java 使用二分查找快速定位元素位置
61 0
二分查找-递归(java)
二分查找-递归(java)
|
人工智能 算法 Java
二分查找Java版
二分查找Java版
95 0
|
存储 算法 Java
Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。
【6月更文挑战第21天】Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。简单哈希表实现未涵盖冲突解决和删除操作。
174 1
|
Java
Java二分查找小例子
Java二分查找小例子
51 0
|
Java
java实现二分查找
java实现二分查找
103 0
|
存储 算法 Java
二分查找(Java) 详细讲解 一文足矣
二分查找(Java) 详细讲解 一文足矣
Java实现二分查找
描述: 给定一个排好序的数组arr和一个数字x,让你在数组中找到x的下标,如果没有就返回-1;
187 0