J'essaye d'implémenter une fonction de recherche binaire, je me demandais comment modifier les nouveaux tableaux avec de nouvelles valeurs min/max. Aussi, je suis nouveau en C++, donc quelqu'un peut-il me dire si c'est une implémentation correcte de la recherche binaire? Je vous remercie.Comment créer de nouveaux tableaux avec les valeurs max/min modifiées pour cette fonction de recherche binaire
#include <iostream>
using namespace std;
bool doSearch(int arr, int target)
{
int min = 0;
int max = arr.length() - 1;
while(min != max)
{
int avg = (min + max)/2;
if(arr[avg] < taget){
min = avg + 1
}
else if(arr[avg] > target){
max = avg - 1;
else if (arr[avg] == target)
{
return avg;
}
}
}
return -1;
}
int main()
{
int primes[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,61,67,71,73,79,83};
int result = doSearch(primes , 47);
cout<<"Found prime at index " <<result;
}
Formatez votre code. Il n'y a pas de demi-côlon dans plusieurs lignes. – arsho
Je pense que vous devriez obtenir votre code pour compiler d'abord et ensuite corriger l'implémentation une fois que vous avez un résultat que vous pouvez itérer. Pour commencer, C++ ne supporte pas le découpage des types de tableaux primitifs, donc vous ne pouvez pas faire quelque chose comme 'arr [min: max]'. Peut-être regardez dans la classe 'std :: array' qui fournit certaines des fonctionnalités que vous essayez d'utiliser. – avigil