Skip to content

Commit 05515cd

Browse files
authored
Chapter 8.5: replace java ArrayDeque with kotlin one
1 parent 40778ec commit 05515cd

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

tutorial/chapter08_5.adoc

+4-4
Original file line numberDiff line numberDiff line change
@@ -364,11 +364,11 @@ BFS = Breadth-First Search.
364364
fun bfs(start: String, finish: String) = bfs(this[start], this[finish])
365365
366366
private fun bfs(start: Vertex, finish: Vertex): Int {
367-
val queue = ArrayDeque<Vertex>()
367+
val queue = ArrayDeque<Vertex>() // kotlin.collections.ArrayDeque
368368
queue.add(start)
369369
val visited = mutableMapOf(start to 0)
370370
while (queue.isNotEmpty()) {
371-
val next = queue.poll()
371+
val next = queue.removeFirst() // Use poll for java.util.Deque instead
372372
val distance = visited[next]!!
373373
if (next == finish) return distance
374374
for (neighbor in next.neighbors) {
@@ -384,8 +384,8 @@ private fun bfs(start: Vertex, finish: Vertex): Int {
384384
В процессе выполнения поиска в ширину мы используем очередь вершин `ArrayQueue<Vertex>`.
385385
Принцип функционирования очереди подобен настоящей очереди в магазине --
386386
вызов функции `queue.add` добавляет вершину-аргумент в конец очереди (увеличивая размер очереди на 1),
387-
а вызов функции `queue.poll`, наоборот, достаёт из головы очереди первую вершину (уменьшая размер на 1).
388-
Для пустой очереди результат `queue.poll` будет равен **null**.
387+
а вызов функции `queue.removeFirst()`, наоборот, достаёт из головы очереди первую вершину (уменьшая размер на 1).
388+
Для пустой очереди результат `queue.removeFirst()` будет равен **null**.
389389
Изначально в очередь записывается только стартовая вершина.
390390

391391
Для хранения найденных расстояний до уже посещённых вершин функция использует ассоциативный массив,

0 commit comments

Comments
 (0)