Указатель на следующий элемент. Последний элемент списка указывает на null. Для начала определим несколько терминов, чтобы в дальнейшем не возникло недопонимания


Download 0.88 Mb.
bet2/8
Sana02.01.2023
Hajmi0.88 Mb.
#1075625
TuriУказатель
1   2   3   4   5   6   7   8
Bog'liq
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. Это очень эффективно, когда вам нужно получить объект с определённым индексом. Однако при удалении или добавлении элементов эффективность алгоритма падает, ведь придётся перемещать все данные в другой блок памяти.

  • Массивы обычно хранятся в едином блоке памяти, что позволяет использовать для индексации быструю формулу start_of_array_in_memory + space_allocated_for_each_array_item * index_of_item_we_want. Это очень эффективно, когда вам нужно получить объект с определённым индексом. Однако при удалении или добавлении элементов эффективность алгоритма падает, ведь придётся перемещать все данные в другой блок памяти.

В отличие от массивов, связные списки не требуют хранения данных в одном непрерывном блоке памяти. Это облегчает добавление элементов в начало списка и их удаление. Указатели содержат ссылку на любую ячейку памяти, и для добавления нового узла не нужно перемещать массу данных. Элемент, на который нет указателя, является первым (головным) элементом списка. Здесь ссылка в каждом узле указывает на следующий узел в списке.

  • В отличие от массивов, связные списки не требуют хранения данных в одном непрерывном блоке памяти. Это облегчает добавление элементов в начало списка и их удаление. Указатели содержат ссылку на любую ячейку памяти, и для добавления нового узла не нужно перемещать массу данных. Элемент, на который нет указателя, является первым (головным) элементом списка. Здесь ссылка в каждом узле указывает на следующий узел в списке.

Download 0.88 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling