Archiv

Beispiel eines binären Suchalgorithmus in C ++

Beispiel eines binären Suchalgorithmus in C ++

Hier ist ein einfaches Beispiel für eine binäre Suche in C++. Das Beispiel erstellt zuerst einen Vektor von 4 000 000 Zahlen und macht dann einen Funktionsaufruf von der Haupt- zu Binary_Search -Funktion.

binäre Suche.CPP

#Include #include mit dem Namespace std; void binary_search (const vector & Zahlen, int Wert); int main () Vektor my_numbers; für (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, links = 0, rechts = my_numbers.size ()-1, mid; während (links <= 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]) links = Mid + 1; sonst rechts = Mitte - 1;  cout << "Binary search did not found " << my_numbers[mid] << " after " << iteration << " iterations.\n"; return; 

Kompilieren:

$ G ++ Binärseckung.CPP -o -Binärseckung 

Laufen:

$ ./binäre Suche 

Ausgang:

Größe des Vektors my_nymbers: 4000000 binäre Suche 2 nach 20 Iterationen gefunden. Binäre Suche fand 23 nach 21 Iterationen. Binäre Suche wurde 234 nach 22 Iterationen gefunden. Binäre Suche gefunden 7655 nach 21 Iterationen. Binäre Suche gefunden 10101 nach 22 Iterationen. Binäre Suche 895543 nach 19 Iterationen gefunden. Binäre Suche gefunden 3785111 nach 22 Iterationen. 
Dieser Kernel benötigt die folgenden Merkmale, die nicht vorhanden sind PAE
Heute habe ich versucht, RHEL6 i386 als virtuelle Maschine mit VirtualBox zu installieren. Gleich nach dem Start erhielt ich eine Fehlermeldung mit de...
Wie man auf LAN aufwacht, unterstützte Host über das Netzwerk mit Linux
Wie man auf LAN aufwacht, unterstützte Host über das Netzwerk mit Linux...
Mobile Breitband -Internetverbindung und sakis3g
Dieser Artikel ist nur eine Fortsetzung meines ersten Artikels über meine Erfahrungen mit dem mobilen Breitband -Internet in einem Linux -System. Die ...