55.77K
Category: programmingprogramming

Очередь (std::queue)

1.

Очередь (std::queue)
1. Требуется подключение библиотеки #include <queue>
2. Модель FIFO
3. Объявление объекта очереди
queue<`тип данных`> que;
4. Добавление объекта в очередь que.push(obj);
5. Получение первого объекта из очереди que.front();
6. Удаление первого элемента из очереди que.pop();
7. Проверка, пустая ли очередь que.empty();

2.

Поиск (обход) в ширину (BFS)
1. Для каждой вершины графа будем хранить цвет. Пусть изначально
вершины будут белыми, когда мы в них входим, они будут
становиться чёрными.
2. Создадим очередь, в которую будем помещать обходимые вершины.
3. Будем перебирать вершины графа. Если встречаем белую вершину
– запускаем из неё поиск в глубину.
4. Во время поиска в ширину добавляем исходную вершину в очередь.
5. Пока в очереди есть вершины, достаём вершину из очереди,
закрашиваем все белые вершины, смежные с данной, и добавляем
их в очередь.

3.

Поиск (обход) в ширину (BFS)
English     Русский Rules