线性结构--二分查找

   二分查找又称折半查找,它是一种效率较高的查找方法。

   二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。

二分查找java代码

 1 package com.feimao.com.feimao.a2.test;
 2 
 3 import java.util.Arrays;
 4 
 5 public class BinarySerach {
 6     public static void main(String[] args){
 7         int[] arr = new int[]{1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9};
 8         System.out.println(Arrays.toString(arr));
 9         //目标元素
10         int target = 2;
11         int begin = 0;
12         int end = arr.length-1;
13         int mid = (begin + end)/2;
14         //记录目标位置
15         int index = -1;
16         while(true){
17             //判断中间这个元素是不是要查找的元素
18             if(arr[mid] == target){
19                 index = mid;
20                 break;
21             }else{
22                 //判断中间这个元素是不是比目标元素大
23                 if(arr[mid] > target){
24                     //把结束位置调整到中间位置的前一个位置
25                     end = mid - 1;
26                 }else{
27                     //把开始位置调整到中间位置的后一个位置
28                     begin = mid + 1;
29                 }
30                 //取出新的中间位置
31                 mid = (begin + end)/2;
32             }
33         }
34         System.out.println("index  " + index);
35     }
36 }
原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/10153152.html