zoukankan      html  css  js  c++  java
  • 半分法查找

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 int *binsearch(int *base, int len, int data);
     4 
     5 int main()
     6 {    
     7     int * p = NULL;
     8     int a[4] = {1, 2, 45, 68};//排好序的数组
     9     int data = 43;
    10     p = binsearch(a, 4, data);
    11     printf("%p
    ", p);
    12     system("pause");
    13     return 0;
    14 }
    15 
    16 int *binsearch(int *base, int len, int data)
    17 {
    18    int *low = base, *high = base + len;
    19    int *mid = NULL;
    20    
    21    while(low < high)
    22    {
    23       mid = low + ((high - low) >> 1);
    24       if(data < *mid)
    25       {
    26           high = mid;
    27       }
    28       else if(data > *mid)
    29       {
    30           low = mid + 1;//mid + 1 不是 mid
    31       }
    32       else
    33       {
    34           return mid;
    35       }
    36    }
    37 
    38    return NULL;
    39 }
  • 相关阅读:
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    Vue
    建立索引该如何选取字段
  • 原文地址:https://www.cnblogs.com/hdu-2010/p/3237949.html
Copyright © 2011-2022 走看看