J'essaie d'écrire le code de la recherche binaire en Java. Mais le curseur est pile et ne peut voir aucune réponse. S'il vous plaît j'ai besoin d'aide pour résoudre le problème. Je crois que le code que j'ai écrit est logique cependant. Pas certain!mon code BinarySearch ne fonctionne pas. Quel est le problème avec mon code?
public class BinarySearch {
public static void main(String[] args) {
int test[] = {1, 3, 5, 6};
// int ans = BinarySearch(test, 6);
System.out.println(BinarySearch(test, 1));
//while (counter <=test.length){
//System.out.println(test[counter]);
//counter++;
}
public static int BinarySearch(int searcharr[], int key) {
int left, fulllength, midpoint;
left = 0;
midpoint = 0;
fulllength = searcharr.length;
while (left <= fulllength) {
midpoint = (left + fulllength)/2;
if (searcharr[midpoint] == key) {
return searcharr[midpoint];
} else if (searcharr[midpoint] > key) {
left = midpoint - 1;
} else {
fulllength = midpoint + 1;
}
// left++;
}
return -1;
}
}
Merci beaucoup Rahul et Paveneet_Singh. Il fonctionne maintenant! je vais vous envoyer un message rapide pour explication dans les détails – Ekaku509