Enviado em 29/07/2022 - 13:21h
Estou novamente estudando estruturas de dados e resolvi usar como base um livro de estrutura de dados usado JavaScript. O código inicial de linkedList.js está assim:
Agradeço a todos desde ja!
import {defaultEquals} from '../util/util.js';
import { Node } from './models/linked-list-models.js';
export default class linkedList{
//Aqui ficara o construtor...
constructor(equalsFn = defaultEquals){
this.count = 0;
this.head = undefined;
this.equalsFn = equalsFn;
}
//Aqui comecam os metodos...
push(element){
const node = new Node(element);
let current;
console.log(this.head);
if (this.head == null){
this.head = node;
}
else{
current = this.head;
while(current.next != null){
current = current.next;
}
current.next = node;
}
this.count++;
}
}
let a = new linkedList();
a.push(1);
a.push(2);
a.push(3);
a.push(4); E o código da classe linked-list-models.js a qual é usada pelo método push está assim:export class Node {
constructor(element){
this.element = element;
this.next = undefined;
}
} E o código de util.js (não usando no momento) está assim:export function defaultEquals(a, b){
return a === b; //exporta o valor de comparacao entre dois valores em um booleano
} A minha dúvida é simples, pois não consigo entender como o atributo this.head é atualizado e como ele se torna uma lista encadeada, pois somente node e current/current.next são atualizados.Agradeço a todos desde ja!
