二分查找-非递归(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
相关文章
|
9月前
|
Java
java实现二分查找
java实现二分查找
58 0
|
4月前
|
Java
在 Java 中实现二分查找法
【10月更文挑战第9天】
50 1
|
4月前
|
算法 Java
java冒泡排序与二分查找(详解)
java冒泡排序与二分查找(详解)
61 4
|
7月前
|
算法 Java
Java 使用二分查找快速定位元素位置
Java 使用二分查找快速定位元素位置
34 0
|
8月前
|
存储 算法 Java
Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。
【6月更文挑战第21天】Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。简单哈希表实现未涵盖冲突解决和删除操作。
83 1
|
8月前
|
Java
二分查找-递归(java)
二分查找-递归(java)
|
8月前
|
人工智能 算法 Java
二分查找Java版
二分查找Java版
49 0
|
8月前
|
Java
Java二分查找小例子
Java二分查找小例子
28 0
|
9月前
|
存储 算法 Java
二分查找(Java) 详细讲解 一文足矣
二分查找(Java) 详细讲解 一文足矣

热门文章

最新文章