写点什么

如何在给定数组中执行二元搜索?

作者:InfoQ IT百科
  • 2022 年 4 月 24 日
  • 本文字数:339 字

    阅读完需:约 1 分钟

二分查找的前提条件,要求数组必须是有序状态。


二分查找的前提条件,要求数组必须是有序状态。


下面是 Java 实现的数组二分查找算法:

public class BinarySearch {	public int binarySearch(int a,int[] arr){        int index = -1;		int head = 0;		int end = arr.length - 1;		int binary =(end + head)/2;                // 使用二分查找进行搜索        while(true){			if( a <arr[head] || a > arr[end]){				break;		}		// 判断是否已经查找到					if(arr[binary] == a){			index = binary;			break;        }        else{			if(arr[binary] > a){				end = binary - 1;            		}            		else{				head = binary + 1;			}				binary =( end + head)/2;		}	}	return index;	}}
复制代码


用户头像

还未添加个人签名 2021.04.12 加入

还未添加个人简介

评论

发布
暂无评论
如何在给定数组中执行二元搜索?_InfoQ IT百科_InfoQ写作社区