所以我正在做一个作业,我需要在一个向量中搜索一个包含 4 个变量的对象。字符串,字符串,整数,整数。我对编程很陌生。如果我只使用第一个字符串进行搜索,我就可以让二进制 serach 工作。但不确定如何使其匹配所有四个字段。
向量按第一个字符串排序,如果第一个字符串匹配则按第二个字符串排序,如果第二个字符串匹配则排序但第一个 int 等。
到目前为止我的代码是
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;
}
}