int Select(int* a,int len,int num) //num为我们要查找的数,len为数组长度,a为数组名
{
int L = 0; //设置最左右2点
int R = len-1;
int cont=0;
while(1)//没找到无线循环
{
cont++; //cont为查找的次数,如果为-1 则是没有这个数字
int m = (L+R)/2 ;
if(L>R)
return -1; //没有这个数,返回错误
if(num == a[m])
return cont; //返回找了几次
else if(num>a[m])
L = m+1; //把左边的坐标向右移动
else
R = m-1; //把右边的坐标向左移动
}
}