#include<stdio.h>
int main()
{
int a[5]={1,3,6,8,10};
int key=1,l=0,r=4;
while(l<r)
{
int mid=(l+r)/2;
if(key<=a[mid]) //注意等号一定要加在靠左的区间。
r=mid;
else
l=mid+1; //这里l=mid+1防止出现死循环。
}
printf("%d\n",r);
return 0;
}
int main()
{
int a[5]={1,3,6,8,10};
int key=1,l=0,r=4;
while(l<r)
{
int mid=(l+r)/2;
if(key<=a[mid]) //注意等号一定要加在靠左的区间。
r=mid;
else
l=mid+1; //这里l=mid+1防止出现死循环。
}
printf("%d\n",r);
return 0;
}
4277

被折叠的 条评论
为什么被折叠?



