Ich habe versucht zu lernen, wie die binäre Suche funktioniert, also suchte ich nach einem Code und versuchte zu verstehen, was jede Zeile tut. Da ist diese eine Zeile, die ich nicht verstehe. Die Zeile mit dem "Return -1". Ich verstehe nicht, was das bedeutet. Kann jemand erklären, was in dieser Codezeile passiert?Binäre Suche Codezeile
#include<stdio.h>
int binarySearch(int array[], int size, int searchValue){
int low = 0;
int high = size - 1;
while(low<=high){// is the array exhausted?
int mid = (low + high)/2; //If not, find the middle index
if(searchValue == array[mid]){
return mid;
}
else if(searchValue > array[mid]){
low = mid + 1;
}
else{
high = mid - 1;
}
}
return -1;
}
int main(){
int array[] = {1,2,3,4,5,6,7};
int searchNum;
printf("Enter an integer:");
scanf("%d", &searchNum);
int result = binarySearch(array,7,searchNum);
if(result>=0){
printf("Found!");
}
else{
printf("Not found!");
}
getch();
}
-1 zeigt an, dass der Wert nicht gefunden wurde. – Ryan
es bedeutet, wenn keine Suche gefunden wird, dann -1 zurückgeben sonst wird es die Position des gefundenen Elements – Shushant
ich sehe. Danke vielmals! :) – Hooman