Указатель на следующий элемент. Последний элемент списка указывает на null. Для начала определим несколько терминов, чтобы в дальнейшем не возникло недопонимания
Download 0.88 Mb.
|
elekf
this.next = next}}let ari = new Node('Ari')let malcolm = new Node('Malcolm', ari)let pete = new Node('Pete', malcolm)let ricky = new Node('Ricky', pete)let sean = new Node('Sean', ricky)Если мы выведем на экран содержимое узла Sean, мы увидим, что он содержит имя в качестве данных, а также ссылку на следующий узел — Ricky. С помощью атрибута next мы можем перебрать все узлы по порядку.Кроме того, в конце списка мы видим нулевой указатель. Ариана объявляет себя самодостаточной личностью, поэтому следующих узлов не существует, и её узел не содержит соответствующей ссылки.
Массивы обычно хранятся в едином блоке памяти, что позволяет использовать для индексации быструю формулу start_of_array_in_memory + space_allocated_for_each_array_item * index_of_item_we_want. Это очень эффективно, когда вам нужно получить объект с определённым индексом. Однако при удалении или добавлении элементов эффективность алгоритма падает, ведь придётся перемещать все данные в другой блок памяти.
В отличие от массивов, связные списки не требуют хранения данных в одном непрерывном блоке памяти. Это облегчает добавление элементов в начало списка и их удаление. Указатели содержат ссылку на любую ячейку памяти, и для добавления нового узла не нужно перемещать массу данных. Элемент, на который нет указателя, является первым (головным) элементом списка. Здесь ссылка в каждом узле указывает на следующий узел в списке.
Download 0.88 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling