int[] a = new int[] { , , , , , , , , , , , , , , , , , , , };
int x = , i;
string j, k;
var d = find(a, x, , );
if (d == -)
{
k = String.Format("未找到{0}", x);
}
else
{
for (i = ; i < ; i++)
{
if ((i = d) > )
{
j = String.Format("{0}是第{1}个数\n", x, i + );
break;
}
}
}
find方法如下:
int find(int[] a, int x, int n, int m)
{
int i;
if (n > m) return -;
i = (n + m) / ;
if (a[i] == x) return i;
if (a[i] > x) return find(a, x, n, i - );
return find(a, x, i + , m);
}
可以输出j
显示查找结果
good luck ----------