私はバイナリ検索の仕組みを学んできたので、コードを検索して各行の内容を理解しようとしました。私が理解していないこの1行があります。 "return -1"の行。私はその意味を理解していません。誰かがそのコード行で何が起こるか説明できますか?バイナリ検索コード行
#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は、値が見つからなかったことを示します。 – Ryan
これは、検索が見つからない場合は-1を返し、見つかった要素の位置を返します。 – Shushant
です。どうもありがとう! :) – Hooman