When I search for most things it says not found even though my movie_list is sorted correctly, is my binary search wrong?
Movie* MovieTicketMaster::FindMovie(string target_movie){
Movie* p_movie = nullptr;
int top_index = DEFAULT_MOVIE_COUNT -1;
int bot_index= 0;
int middle_index = (top_index-bot_index)/2;
while(bot_index <= top_index){
middle_index = (top_index-bot_index)/2;
if(movie_list[middle_index].get_movie_name() == target_movie){
p_movie = &movie_list[middle_index];
break;
}
if(movie_list[middle_index].get_movie_name().compare(target_movie) > 0){
bot_index = middle_index +1;
}
if(movie_list[middle_index].get_movie_name().compare(target_movie) < 0){
top_index = middle_index -1;
}
}
return p_movie;
}
```c++