Day589.二分查找(非递归) -数据结构和算法Java

Posted 阿昌喜欢吃黄桃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day589.二分查找(非递归) -数据结构和算法Java相关的知识,希望对你有一定的参考价值。

二分查找(非递归)

1、介绍


2、代码实现

package com.achang.algorithm;

/**
 * 二分查找算法---非递归
 */
public class BinarySearchNoRecursion 
    public static void main(String[] args) 
        int[] arr = 1,3,5,6,7,8,10;
        System.out.println(binarySearchNoRecursion(arr,10));
    

    /**
     * 二分查找算法---非递归
     *
     * @param arr    查找的数组
     * @param target 查找的目标数
     * @return 返回查找目标数的下标,找不到就返回-1
     */
    public static int binarySearchNoRecursion(int[] arr, int target) 
        int left = 0;
        int right = arr.length - 1;
        while (left <= right) 
            int mid = (left + right) / 2;
            if (arr[mid] == target) 
                return mid;
            
            if (arr[mid] > target) 
                right = mid - 1;
            
            if (arr[mid] < target) 
                left = mid + 1;
            
        
        return -1;
    


创作挑战赛 新人创作奖励来咯,坚持创作打卡瓜分现金大奖

以上是关于Day589.二分查找(非递归) -数据结构和算法Java的主要内容,如果未能解决你的问题,请参考以下文章

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

图解二分查找的递归和非递归实现

二分查找算法(递归与非递归两种方式)

学习数据结构笔记(15) --- [二分查找算法(非递归)]

二分查找算法(非递归)

二分查找非递归算法实现