Beijing Institute of Technology en un problema de la máquina - búsqueda binaria
Descripción Título:
búsqueda binaria {-36, -25,0,12,14,29,35,47,76,100}, el antes mencionado número de binarios de búsqueda de diez
pruebas:
datos de entrada Por favor, para buscar: 14 14 el número 5, un número de veces para encontrar
los datos entran buscando: -25-25 es un segundo número, el número 2 es para encontrar
los datos para encontrar el escriba: 121 fallando la búsqueda
También conocido como binario de búsqueda binario de búsqueda, la búsqueda binaria relacionada con introducida: búsqueda binaria
#include<iostream>
using namespace std;
void search(int num[], int n, int searchNum) {
int count = 0;
int first = 0, end = n - 1;
bool find = false;
int mid;
while (first <= end && !find) {
count++;
mid = (first + end) / 2;
if (searchNum == num[mid]) {
find = true;
break;
}
else if (searchNum < num[mid]) {
end = mid - 1;
}
else {
first = mid + 1;
}
}
if (find) {
cout << searchNum << "是第" << mid + 1 << "个数,查找次数为" << count << endl;
}
else
cout << "查找失败" << endl;
}
int main() {
int num[10] = { -36,-25,0,12,14,29,35,47,76,100 };
int searchNum;
int count = 3;
while (count) {
cout << "输入要查找的数据:";
cin >> searchNum;
search(num, 10, searchNum);
count--;
}
return 0;
}
Ejecutar los resultados de las pruebas: