Java版 二分法查找 -Java 学习笔记 (21)

来源:互联网 发布:湖北美工连捅策划7刀 编辑:程序博客网 时间:2024/06/08 04:11
 
public class SearchTest {
    
public static void main(String[] args) {
        
int[] a = {0,5,7,8,14,25,52,78,98,100};
        
int rst=BinarySearch(8,a);
        System.out.println(rst);
    }

    
static int BinarySearch(int target,int[] arr) {
        
int len=arr.length;
        
int startPos=0;
        
int endPos=len-1;
        
int midPos=(startPos+endPos)/2;
        
while(startPos<=endPos) {
            
if(arr[midPos]==target) return midPos;
            
else if(arr[midPos]>target) {
                endPos
=midPos-1;
            }

            
else {
                startPos
=midPos+1;
            }

            midPos
=(startPos+endPos)/2;
        }

        
return -1;
    }

}
原创粉丝点击