一步一步学习java数组学习(二分搜索)

 1 public class TestSearch{
2 public static void main(String[] args){
3 int[] a = new int[]{1,3,6,8,9,10,12,18,20,38};
4 int x = 23;
5 if(binarySearch(a,x)>0){
6 System.out.println(binarySearch(a,x));
7 }else{
8 System.out.println("没有找到");
9 }
10 }
11 public static int binarySearch(int[] a,int x){
12 int startPos = 0;
13 int endPos = a.length;
14 int m = 0;
15 if(a.length==0)return -1;
16 while(startPos<=endPos){
17 m = (startPos + endPos)/2;
18 if(a[m]==x)return m;
19 if(a[m]<x)startPos = m + 1;
20 if(a[m]>x)endPos = m -1;
21 }
22 return -1;
23 }
24 }

今天看了视频,照着写了一个二分搜索。。。

posted @ 2011-11-20 12:54  ①只耳  阅读(163)  评论(0编辑  收藏  举报