Так что я выполняю задание, и мне нужно искать вектор для объекта с 4 переменными. строка, строка, int, int. Я довольно новичок в программировании. Я получил двоичный serach для работы, если я только поиск с использованием первой строки. Но не уверен, как сделать его совпадением со всеми четырьмя полями.C++ Бинарный поиск с несколькими условиями вектора
вектор сортируется по первой строке, если первый матч строка сортируется по второй строке, если второй матч строка сортируется, но первый ИНТ и т.д.
Пока мой код
bool Room::searchRoom(string name, string initial, int number1, int number2) {
size_t mid, left = 0 ;
size_t right = testVector.size();
while (left < right) {
mid = left + (right - left)/2;
if (name > testVector[mid].getName()){
left = mid+1;
}
else if (name < testVector[mid].getName()){
right = mid;
}
else {
return true;
}
return false;
}
Итак, если первые строки совпадают, вы сравниваете второе, и если они совпадают, вы сравниваете первые числа. Результатом общего сравнения должно быть последнее неравное сравнение. – StoryTeller
Ваши фигурные скобки не совпадают. –
Я предлагаю вам разделить логику бинарного поиска и логику сравнения двух комнат в разных функциях. Это будет намного проще. – jrok