您的位置:首页 > 其它

算法练习二:二分查找

2009-04-02 15:40 288 查看
static void Main(string[] args)

{

int[] a=new int[] {1,3,58,654,7,9,11,18,17};

int c = Serarch(a, 9);

Console.WriteLine(c);

Console.ReadLine();

Console.Read();

}

static int Serarch(int[] a, int b)

{

int low = 0;

int high = a.Length - 1;

while(low<=high)

{

if (b < a[(high + low )/ 2])

{

high = (high + low) / 2;

}

else if (b >a[(high + low) / 2])

{

low = ((high + low)/ 2)+1;

}

else if (b ==a[(high + low )/ 2])

{

return ((high + low )/ 2)+1;

}

}

return -1;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: