0
我已經陣列int類型二進制搜索不起作用
int[] myArr = (int[]) alItems.ToArray(typeof (int));
index = Array.BinarySearch(myArr, searchNumber);
當我有searchNumber在myArr,該把它給我負面的指標,爲什麼呢?
我已經陣列int類型二進制搜索不起作用
int[] myArr = (int[]) alItems.ToArray(typeof (int));
index = Array.BinarySearch(myArr, searchNumber);
當我有searchNumber在myArr,該把它給我負面的指標,爲什麼呢?
如果二分搜索返回-1,則該值不在數組內。如果數組未被排序(它需要二進制搜索才能工作),也會發生這種情況。
使用二分法搜索之前,您應該瞭解它的工作原理。在將代碼放入代碼之前,花點時間做一點點research。
你知道二進制搜索只適用於排序的數組,對吧? – 2012-07-14 13:48:12
這在[文檔中](http://msdn.microsoft.com/en-us/library/y15ef976.aspx)中有詳細解釋。 – dasblinkenlight 2012-07-14 13:49:16