#code #cpp
انجمن علمی مهندسی کامپیوترجستجوی دودویی:
int binarySearch(int A[], int n, int x) {
int low, high, mid;
low = 0;
high = n-1;
while (low <= high) {
mid = (low + high) / 2;
if (x == A[mid]) return(mid);
else if (x < A[mid]) high = mid-1;
else low = mid + 1;
}
return(-1);
}
https://t.me/com_hsu
جستجوی دودویی بصورت بازگشتی:
int recBinarySearch(int A[], int low, int high, int x) {
int mid;
if (low > high) return(-1);
mid = (low + high) / 2;
if (x == A[mid]) return(mid);
else if (x < A[mid]) return(recBinarySearch(A, low, mid-1, x));
else return(recBinarySearch(A, mid+1, high, x)) ;
}