您的位置:首页 > 其它

BinarySearch

2015-10-22 15:18 281 查看
二分法
public class BinarySearch {

public static int rank(int key,int[] a){

int lo = 0;
int hi = a.length-1;

while(lo<hi){
int mid = lo+(hi-lo)/2;
if(key<a[mid]) hi=mid-1;
else if(key>a[mid]) lo=mid+1;
else return mid;
}
return -1;
}

public static void main(String[] args) {

int[] whilelist = In.readInts(args[0]);
Arrays.sort(whilelist);
while(!StdIn.isEmpty()){
int key = StdIn.readInt();
if(rank(key,whilelist)<0){
StdOut.println(key);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: