Exemple d'algorithme de recherche binaire en C ++

Exemple d'algorithme de recherche binaire en C ++

Voici un exemple simple de recherche binaire en C++. L'exemple crée d'abord un vecteur de 4 000 000 nombres, puis il fait un appel de fonction de la fonction principale à binary_search.

recherche binaire.cpp

#include #include Utilisation de Namespace Std; void binary_search (Const vector & nombres, Int Value); int main () vecteur my_numbers; pour (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, gauche = 0, droit = ​​my_numbers.size () - 1, milieu; tandis que (à gauche <= 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]) Left = mid + 1; sinon à droite = Mid - 1;  cout << "Binary search did not found " << my_numbers[mid] << " after " << iteration << " iterations.\n"; return; 

Compiler:

$ g ++ binaire-recherche.CPP -O Binary-Search 

Courir:

$ ./recherche binaire 

Sortir:

Taille du vecteur my_nymbers: 4000000 recherche binaire trouvée 2 après 20 itérations. Recherche binaire trouvée 23 après 21 itérations. Recherche binaire trouvée 234 après 22 itérations. Recherche binaire trouvée 7655 après 21 itérations. Recherche binaire trouvée 10101 après 22 itérations. Recherche binaire trouvée 895543 après 19 itérations. Recherche binaire trouvée 3785111 après 22 itérations. 

Tutoriels Linux connexes:

  • Introduction aux boucles JavaScript
  • Comment améliorer le rendu de la police de Firefox sur Linux
  • Exemples de boucles ansibles et introduction
  • Vim Editor Basics in Linux
  • Comment installer G ++ le compilateur C ++ sur Ubuntu 22.04 LTS…
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Boucles imbriquées dans les scripts bash
  • Exemples de commande kubectl (feuille de triche)
  • Comment vérifier une santé du disque dur à partir de la ligne de commande…
  • Comment travailler avec l'API WooCommerce REST avec Python