Бинарный поиск (реализация на С++)

C++   4 апреля 2012  Автор статьи:  

В данной статье я реализую алгоритм бинарного поиска для массива int длины NMAX. Метод binary_search будет возвращать индекс элемента, если он существует и -1 в противном случае. Функции binary_search передается на вход три параметра:

  1. x — элемент, поиск которого производится в массиве.
  2. l (left) — левая граница поиска
  3. r (right) — правая граница поиска


#include
#include
#include
#define NMAX 10
using namespace std;
int a[NMAX];

int binary_search(int x, int l ,int r)
{
while(r - l > 1)
//пока результат не станет однозначным
{
int mid = (l + r) / 2;
//делим отрезок [l,r] пополам
if(a[mid]
Поиск для примера осуществлялся в случайном массиве.

Научиться программировать

  • на Delphi

  • на Java

  • на C++