Archivo

Ejemplo de algoritmo de búsqueda binaria en C ++

Ejemplo de algoritmo de búsqueda binaria en C ++

Aquí hay un simple ejemplo de búsqueda binaria en C++. El ejemplo primero crea un vector de 4 000 000 números y luego hace una llamada de función de la función principal a binary_search.

búsqueda binaria.CPP

#InClude #Include usando el espacio de nombres STD; void binary_search (const vector & números, valor int); int main () vector my_numbers; para (int i = 0; i<4000000; i++) my_numbers.push_back(i); cout << "Size of vector my_nymbers :" << my_numbers.size() << endl;   Binary_Search(my_numbers, 2);  Binary_Search(my_numbers, 23);  Binary_Search(my_numbers, 234);  Binary_Search(my_numbers, 7655);  Binary_Search(my_numbers, 10101);  Binary_Search(my_numbers, 895543);  Binary_Search(my_numbers, 3785111); return 0;  void Binary_Search(const vector< int> & my_numbers, int key) int iteration = 0, izquierda = 0, right = my_numbers.tamaño ()-1, medio; mientras (izquierda <= right)   iteration++;  mid = (int) ((left + right) / 2);  if (key == my_numbers[mid])   cout << "Binary search found " << my_numbers[mid] << " after " << iteration << " iterations.\n";  iteration++;  return;   else if (key > my_numbers [Mid]) izquierda = Mid + 1; más correcto = Mid - 1;  cout << "Binary search did not found " << my_numbers[mid] << " after " << iteration << " iterations.\n"; return; 

Compilar:

$ G ++ Binary-Search.CPP -O Binary -Search 

Correr:

ps ./búsqueda binaria 

Producción:

Tamaño de vector my_nymbers: búsqueda binaria 4000000 encontrada 2 después de 20 iteraciones. Búsqueda binaria encontrada 23 después de 21 iteraciones. Búsqueda binaria encontrada 234 después de 22 iteraciones. Búsqueda binaria encontrada 7655 después de 21 iteraciones. Búsqueda binaria encontrada 10101 después de 22 iteraciones. Búsqueda binaria encontrada 895543 después de 19 iteraciones. Búsqueda binaria encontrada 3785111 después de 22 iteraciones. 
Instalación de herramientas Mkvtoolnix Matroska en Ubuntu Linux
Este breve artículo describe los pasos simples de seguir sobre cómo instalar una herramientas multiplataforma para Matroska MKVToolnix en el sistema U...
Conexión a Internet de banda ancha móvil y sakis3g
Este artículo es solo una continuación de mi primer artículo sobre mi experiencia con Internet de banda ancha móvil en un sistema Linux. Para acortar ...
STATA DE CARGA DE GRUB 1.5 Error Top 10
STATA DE CARGA DE GRUB 1.5 Error 15 El mensaje de error no indica necesariamente que ha destruido un MBR (registro de arranque maestro) de su arranque...