我的二分查找居然死循环???
int BinarySearch(int l,int r,int x) { while(l<=r) { int mid=(l+r)>>1; if(x<a[mid]) r=mid-1; else l=mid; } return l; }