Przykład algorytmu wyszukiwania binarnego w C ++
- 4317
- 883
- Igor Madej
Oto prosty przykład wyszukiwania binarnego w C++. Przykład najpierw tworzy wektor 4 000 000 liczb, a następnie wykonuje wywołanie funkcji od funkcji głównej do binarnej.
Poszukiwanie binarne.CPP
#include #include przy użyciu przestrzeni nazw Std; void binary_search (const wektor& liczby, wartość int); int main () wektor my_numbers; dla (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 klawisz) int iteration = 0, lewy = 0, prawy = my_numbers.rozmiar ()-1, środkowy; While (po lewej <= 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]) lewy = połowa + 1; else right = połowa - 1; cout << "Binary search did not found " << my_numbers[mid] << " after " << iteration << " iterations.\n"; return;
Skompilować:
$ g ++ binarne wyszukiwanie.CPP -O Binary -Search
Uruchomić:
$ ./wyszukiwanie binarne
Wyjście:
Rozmiar wektora my_nymbers: 4000000 Wyszukiwanie binarne znalezione 2 po 20 iteracjach. Wyszukiwanie binarne znaleziono 23 po 21 iteracjach. Wyszukiwanie binarne znaleziono 234 po 22 iteracjach. Wyszukiwanie binarne znaleziono 7655 po 21 iteracjach. Wyszukiwanie binarne znaleziono 10101 po 22 iteracjach. Wyszukiwanie binarne znaleziono 895543 po 19 iteracjach. Wyszukiwanie binarne znaleziono 3785111 po 22 iteracjach.
Powiązane samouczki Linux:
- Wprowadzenie do pętli JavaScript
- Jak poprawić renderowanie czcionek Firefox na Linuksie
- Przykłady i wprowadzenie pętli ansible
- VIM Editor Basics w Linux
- Jak zainstalować G ++ kompilator C ++ na Ubuntu 22.04 LTS…
- Hung Linux System? Jak uciec do wiersza poleceń i…
- Zagnieżdżone pętle w skryptach Bash
- Przykłady polecenia Kubectl (ściągawka)
- Jak sprawdzić zdrowie dysku twardego z wiersza poleceń…
- Jak pracować z WooCommerce Rest API z Pythonem