那里。我正在尝试对文本文件进行二进制搜索。我正在将文本文件一与文本文件二进行比较。但是,我的二进制算法似乎不起作用并打印出它找到的元素。我的文本文件 2 是一个排序列表,我的 textfile1 是关键。我需要一些关于如何解决这个问题的指导。这是我的代码:
bool binary_search(const vector<string>& sorted_vec, const vector<string>& key) {
size_t mid, left = 0;
size_t right = sorted_vec.size(); // one position passed the right end
while (left < right) {
mid = left + (right - left)/2;
for(int i=0;i<sorted_vec.size();i++){
if (key[i] > sorted_vec[mid]){ //
left = mid+1;
}else if (key[i] < sorted_vec[mid]){
right = mid;
}else{
return true;
}
}
return false;
}
}