Как и в большинстве других реализаций связных списков, в классеLinkedListинкапсулируются значения, хранящиеся вузлахсписка, где находятся также ссылки на предыдущие и последующие элементы списка. Эти узлы представляют собой объекты классаLinkedListNode.В классеLinkedListNodeпредоставляются четыре следующих свойства.

public LinkedListNode Next { get; } public LinkedListNode Previous { get; } public LinkedList List { get; } public T Value { get; set; }

С помощью свойствNextиPreviousполучаются ссылки на предыдущий и последующий узлы списка соответственно, что дает возможность обходить список в обоих направлениях. Если же предыдущий или последующий узел отсутствует, то возвращается пустая ссылка. Для получения ссылки на сам список служит свойствоList.А с помощью свойстваValueможно устанавливать и получать значение, находящееся в узле списка.

В классеLinkedListопределяется немало методов. В табл. 25.16 приведены наиболее часто используемые методы данного класса. Кроме того, в классеLinkedListопределяются собственные свойства, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Эти свойства приведены ниже.

public LinkedListNode First { get; } public LinkedListNode Last { get; }

С помощью свойстваFirstполучается первый узел в списке, а с помощью свойстваLast— последний узел в списке.

Таблица 25.16. Наиболее часто используемые методы, определенные в классе LinkedList

Метод

Описание

public LinkedListNode

Добавляет в список узел со значением value не

AddAfter(LinkedListNode

посредственно после указанного узла node. Указы

node, Tvalue)

ваемый узел node не должен быть пустым (null). Метод возвращает ссылку на узел, содержащий значение value

public void

Добавляет в список новый узел newNode непо

AddAfter(LinkedListNode

средственно после указанного узла node. Ука

node,LinkedListNode

зываемый узел node не должен быть пустым

newNode)

(null). Если узел node отсутствует в списке или если новый узел newNode является частью другого списка, то* генерируется исключение

InvalidOperationException

public LinkedListNode

Добавляет в список узел со значением value непо

AddBefore(LinkedListNode

средственно перед указанным узлом node. Указы

node,Tvalue)

ваемый узел node не должен быть пустым (null). Метод возвращает ссылку на узел, содержащий значение value

Окончание табл. 25.16

Метод

Описание

public void

Добавляет в список новый узел newNode не

AddBefore(LinkedListNode

посредственно перед указанным узлом node.

node, LinkedListNode

Указываемый узел node не должен быть пу

newNode)

стым (null). Если узел node отсутствует в списке или если новый узел newNode является частью другого списка, то генерируется исключение

InvalidOperationException

public LinkedList

Добавляет узел со значением value в начало спи

AddFirst(Tvalue)

ска. Метод возвращает ссылку на узел, содержащий значение value

public void

Добавляет узел node в начало списка. Если узел

AddFirst(LinkedListNode

node является частью другого списка, то генериру

node)

ется исключение InvalidOperationException

public LinkedList

Добавляет узел со значением value в конец спи

AddLast(Tvalue)

ска. Метод возвращает ссылку на узел, содержащий значение value

public void

Добавляет узел node в конец списка. Если узел

Перейти на страницу:

Похожие книги