for A = {1,2,3,4} and function call b_search(3,0,arr.size()-1,arr) //arr being a vector. When I cout mid inside the function it returns 2 but when i return mid in place of cout mid it is returning value 0.
int b_search(int tbs,int p,int q,vector<int> A){
if(p<q){
int mid = p+(q-p)/2;
if(A[mid]==tbs){
return mid;
}else if(tbs<A[mid]){
b_search(tbs,0,mid-1,A);
}else{
b_search(tbs,mid+1,q,A);
}
}
}
Aucun commentaire:
Enregistrer un commentaire