Связанный список js
class NodeList {
constructor(value, next = null) {
this.value = value
this.next = next
}
}
class LinkedList {
constructor() {
this.head = null
this.tail = null
this.size = 0
}
addToTail(value) {
const nodeList = new NodeList(value)
if(!this.size) {
this.head = nodeList
this.tail = nodeList
this.size++
return this
}
this.tail.next = nodeList
this.tail = nodeList
this.size++
return this
}
Здравствуйте. Я не понимаю как изменяя значение в this.tail.next, меняется this.head(в конец добавляется элемент)
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Всё просто. nodeList - объект. А объекты в языке изменяются по ссылке.
таким образом при наличии тысячи переменных указывающих на один объект, при изменении объекта в одной из них влечёт за собой изменение и в других, т.к. они все ссылаются на одну и ту же область в памяти