バイナリ参照用ボードを検索するだけで更新を続け、より良い未来を持っています

半分について、あなたは兄がこのブログを書いて見に行くことができます:

https://blog.csdn.net/CCSGTC/article/details/80586181#commentBox

 

バージョン1:ソートされた、長さは位置xを見つけるために、nは0からN-1までの非反復要素の順序付けられた配列、配列インデックスです。

int td(int n, int x)
{
  int l=0, r=n-1, m;
  while(l<=r)     //左右边界交错后,说明没有元素可以查找了,这时不符合循环条件
  {
    m = (l+r)/2;     //每次折半,看区间中间的元素
    if (t[m]==x) return m;     //该元素等于x,直接return,返回找到的位置
    else if (t[m]<x) l = m + 1;//该元素小于x,说明x此时处在右半区间,把左边界往右边缩
    else if (t[m]>x) r = m - 1;//该元素大于x,说明x此时处在左半区间,把右边界往左边缩
  }
  return l;
}

もしそうであれば、対応するx位置指標を返し、そこ素子のアレイであり、Xより大きく、そして戻りXよりも大きい第1の要素のインデックスの位置ではない場合は、そうでない場合、アレイ内の要素は以下のx、リターンnよりもあります。

公開された19元の記事 ウォンの賞賛0 ビュー509

おすすめ

転載: blog.csdn.net/qq_43317133/article/details/98375884