🗒 Aporte para la clase
Algo que me ayudo bastante a la hora de entender esta clase fue que estamos jugando bastante con la referencia de JavaScript. Recuerda mantener la idea de que no estamos guardando los valores de los objetos en sí, si no el lugar [referencia] de donde se encuentran en el memory heap.
El memory Heap es donde se guardan todos los objetos, debido a que los objetos necesitan una mayor cantidad de memoria a diferencia que los números, cadenas o boleanos, la desventaja es que el memory heap es lento por lo cual se necesita dar una ubicación de donde se está guardado. Si deseas saber más acerca de este tema puedes revisar este video creado por el profesor del curso de fundamentos de javascript
😉 Mi explicación del código según a lo que entendí
class MySinglyLinkedList {
constructor(value) {
// creamos el inicio de nuestro SinglyLinkedList
this.head = {
value,
next: null,
};
// Aqui sucede la magia ✨
// Todo lo que modifiquemos en los atributos de tail
// se modificará en la estructura inicial
// por la RERENCIA!
this.tail = this.head;
this.length = 1;
}
append(value) {
// aquí estamos creando un nuevo nodo
const newNode = new Node(value);
// Como mencionamos anteriormente
// si modificamos la cola por la REFERENCIA
// se modificará la estructura inicial! 🖊
this.tail.next = newNode;
// Pero aun tail sigue apuntando a la CABEZA
// de la estructura inicial entonces es momento
// de apuntar al nuevo nodo creado para que posteriormente
// podamos agregar más nodos! 🚀
this.tail = newNode;
// Finalmente aumentamos el tamaño definido de
// nuestra estructura 👨🔧
this.length++;
return this;
}
💚 Cualquier correción o comentario es bienvenido!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?