zoukankan      html  css  js  c++  java
  • 二分查找

    #include <stdio.h>
    
    int binary_find(int arry[], int find_value)
    {
          int low = 0;
          int high = sizeof(arry) / sizeof(arry[0]) - 1;
          while(low <= high)
          {
                int index = (low + high) / 2;
                if(arry[index] == find_value)
                {
                      return index;
                }
                else if(arry[index] > find_value)
                {
                      high = index -1;
                }
                else
                      low = index + 1;
          }
          return -1;
    }
    
    int main(int argc, char* argv[])
    {
          int arry[] = {2, 4, 5, 8, 12, 45, 56, 65};
          int find_value = 2;
          int index = binary_find(arry, find_value);
          if(index < 0)
                printf("%d找不到", find_value);
          else
                printf("%d的位置为a:%d", find_value, index);
    }
    

      

  • 相关阅读:
    bzoj 4610 Ceiling Functi
    uva 01350
    uva 12075
    uva 01393
    uva 11038
    CF 496E
    CF 496D
    poj 3167
    hdu 4622
    spoj 7258
  • 原文地址:https://www.cnblogs.com/ourroad/p/3143397.html
Copyright © 2011-2022 走看看