简单的二分法的实现

 

try
{
int Number=2;
int[] Arr = { 1, 23, 25, 34, 36, 45, 46, 56, 58, 60, 67, 69, 70, 75, 78, 154, 243, 254, 333, 353, 364, 394, 423, 433, 534, 2623, 745, 845, 954, 1034, 1099 };
int Max = Arr.Length;
int Min = 0;
int Temp;
int Times=0;
while (Min < Max)
{
Times
+=1;
Console.WriteLine(
"查找第{0}次!", Times);
Temp
= (Max - Min) / 2;
Temp
= (Temp / 2 == 0 ? Temp : Temp + 1)+Min;
if (Arr[Temp] == Number)
{
Console.WriteLine(
"找到了!查找了{0}次!在数组的第{1}个!",Times,Temp+1);
break;
}
else
{
if (Arr[Temp] < Number) { Min = Temp; }
else
{
Max
= Temp;
}
}
}
Console.WriteLine(
"没找到相应的值!共查找了{0}次!",Times);
}
catch (Exception e)
{
throw new Exception(e.Message);
}

 

 

 

posted on 2010-04-26 12:58  郑州--飞猫  阅读(169)  评论(0编辑  收藏  举报

导航