【发布时间】:2013-11-13 15:40:18
【问题描述】:
我对 BinarySearch 有点困惑,因为在很多情况下它不起作用。下面的程序显示 -5 和 -1。但它应该显示 1 和 3 对吗?
using System;
namespace Binary
{
class Program
{
static void Main()
{
int[] array = { 12, 45, 23, 3, 67, 43 };
int index1 = Array.BinarySearch<int>(array, 45);
int index2 = Array.BinarySearch<int>(array, 3);
Console.WriteLine(index1);
Console.WriteLine(index2);
}
}
}
【问题讨论】:
-
想想二分查找是如何工作的。基本假设是“如果当前项目太小,则目标项目在其上方”。在您的数组中并非如此。
标签: c# binary-search