0

int値の配列があります

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

 index = Array.BinarySearch(myArr, searchNumber);

myArrにsearchNumberがあると、負のインデックスが表示されます。なぜですか?

4

1 に答える 1

3

二分探索が-1を返す場合、値は配列内にありません。これは、配列がソートされていない場合にも発生する可能性があります(バイナリ検索が機能するために必要です)。

二分探索を使用する前に、それがどのように機能するかを理解する必要があります。コードに入れる前に、少し時間をかけて調査してください。

于 2012-07-14T13:47:26.037 に答える