В приведенном ниже фрагменте кода я пытаюсь удалить головной узел.
LinkedList.prototype.removeHead = function() {
if (!this.head) {
return null;
}
let val = this.head.data;
this.head = this.head.next;
return val;
};
Итак, после вызова этой функции голова теперь будет указывать на следующий элемент.
Итак, мой вопрос: будет ли исходная голова по-прежнему существовать в пространстве памяти, и нужно ли нам явно освобождать узел?
Как и в C / C++, мы освобождаем динамически выделенную память узла, используя,
free(node);
или delete node;
Как освободить память от таких удаленных узлов и как управлять памятью в JavaScript?
@Plotisateur, да! Я новичок, так как же сборщик мусора автоматически освобождает память, не вызывая удаления?
Вы новичок в Javascript? Управление памятью осуществляется браузером через
garbage collection
. В Javascript нет таких бесплатно (узел) или подобных низкоуровневых языков C / C++.