Главная arrow С++ (часть 2) arrow Функция find

Функция find

Функция findo, приведенная далее, исследует базу данных в поисках любого рейса из заданного в переменной from пункта отправления.
/ / Для заданного from находит любой рейс.
Возвращает true, если рейс найден, //и false — в противном случае.
bool Search::find(string from, Flightlnfo &f) {
for(unsigned i=0; i < flights.size(); i++)  {
if(flights[i].from == from && !flights[i].skip)  { f = flights[i];
flights[iJ.skip = true; // препятствует повторному использованию return true;
}
}
return false;
}
Пункт отправления передается в переменной from. Если рейс найден, функция find о возвращает true, а объект типа Flightlnfo, связанный с этим рейсом, запоминается в переменной, на которую ссылается второй параметр f. В противном случае функция find о возвращает false. Различие между функциями find о и match о состоит в том, что первая определяет, есть ли рейс между двумя заданными городами, а вторая выясняет, есть ли рейс из заданного города в любой другой.
Как и matcho, функпия findo использует поле skip для управления возвратом из тупиков.