2012-07-14 48 views
0

我已經陣列int類型二進制搜索不起作用

int[] myArr = (int[]) alItems.ToArray(typeof (int)); 

index = Array.BinarySearch(myArr, searchNumber); 

當我有searchNumber在myArr,該把它給我負面的指標,爲什麼呢?

+3

你知道二進制搜索只適用於排序的數組,對吧? – 2012-07-14 13:48:12

+3

這在[文檔中](http://msdn.microsoft.com/en-us/library/y15ef976.aspx)中有詳細解釋。 – dasblinkenlight 2012-07-14 13:49:16

回答

3

如果二分搜索返回-1,則該值不在數組內。如果數組未被排序(它需要二進制搜索才能工作),也會發生這種情況。

使用二分法搜索之前,您應該瞭解它的工作原理。在將代碼放入代碼之前,花點時間做一點點research