フリーソフト

« [BCB] Enterキーで次のコントロールにフォーカスを移動する | トップページ | [BCB] 中間ファイルを使用せずにWebBrowserに直接書き込む »

[BCB] バイナリサーチ(2分探索)

int __fastcall TSortedObjectList::BinSearch(int Key)
{
  if (FList->Count==0)  return -1;

  int LeftIdx=0;
  int RightIdx=FList->Count-1;

  while (LeftIdx<=RightIdx) {
    int MidIdx=(LeftIdx+RightIdx)/2;
    int MidVal=(int)FList->Items[MidIdx];
    if (MidVal==Key) return MidIdx;  //見つかった
    else if (Key>MidVal) LeftIdx=MidIdx+1;
    else RightIdx=MidIdx-1;
  }

   return -1;
}

« [BCB] Enterキーで次のコントロールにフォーカスを移動する | トップページ | [BCB] 中間ファイルを使用せずにWebBrowserに直接書き込む »

C++Builder」カテゴリの記事

アルゴリズム」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [BCB] Enterキーで次のコントロールにフォーカスを移動する | トップページ | [BCB] 中間ファイルを使用せずにWebBrowserに直接書き込む »