C Tutorial/Search Sort/Binary Search

Материал из C\C++ эксперт
Версия от 10:32, 25 мая 2010; Admin (обсуждение | вклад) (1 версия: Импорт контента...)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

The Binary Search

#include<stdio.h>
 
  int binary_search(char *items, int count, char key)
  {
    int low, high, mid;
    low = 0; high = count-1;
    while(low <= high) {
      mid = (low+high)/2;
      if(key < items[mid]) 
          high = mid-1;
      else if(key > items[mid]) 
          low = mid+1;
      else 
          return mid; /* found */
    }
    return -1;
  }
  int main(void){
     char *str = "123456";
    
     int index = binary_search(str, 6, "3");
    
     printf("%d",index);
  }
2