Skip to content
This repository has been archived by the owner on May 4, 2021. It is now read-only.

Latest commit

 

History

History
31 lines (22 loc) · 3.28 KB

Concrete-Mutable_Lists.md

File metadata and controls

31 lines (22 loc) · 3.28 KB

Списки

Связанные списки (Linked Lists)

Связанные списки - это изменяемые последовательности, которые состоят из узлов, которые связаны со следующими указателями. Они поддерживаются классом LinkedList. В большинстве языков null будет выбран как пустой связанный список. Это не работает для коллекций Scala, потому что даже пустые последовательности должны поддерживать все методы последовательности. В частности, LinkedList.empty.isEmpty должен возвращать true и не вызывать исключение NullPointerException. Пустые связанные списки кодируются вместо этого особым образом: поле next указывает на сам узел. Как и их непреложные родственники, связанные списки лучше всего пересекаются последовательно. Кроме того, связанные списки позволяют легко вставлять элемент или связанный список в другой связанный список.

Двойные связанные списки (Double Linked Lists)

Двойные связанные списки похожи на односвязные списки, за исключением того, что они имеют помимо next другое изменяемое поле prev, которое указывает на элемент, предшествующий текущему узлу. Основное преимущество этой дополнительной ссылки заключается в том, что она очень быстро удаляет элементы. Двойные связанные списки поддерживаются классом DoubleLinkedList.

Изменяемый список (Mutable Lists)

MutableList состоит из одного связанного списка вместе с указателем, который ссылается на пустой узел этого списка. Это делает список добавлением операции с постоянным временем, потому что это позволяет избежать прохождения списка в поисках его конечного узла. MutableList в настоящее время является стандартной реализацией mutable.LinearSeq в Scala.

Если этот проект окажется полезным тебе - нажми на кнопочку в правом верхнем углу.

<= содержание