Curso de Estructuras de Datos con JavaScript

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

Compañeros quiero hacer un pequeño aporte sobre los métodos de eliminación como he visto en muchas de las soluciones que aplicamos dejamos un this.lenght - -; por fuera de las validaciones que realicemos con if, tal y como se muestra en el código:

Ejemplo en un Queue

dequeue() {
    if(this.length === 0) {
      console.error('El Queue está vacío, no hay elementos para eliminar');
    } elseif(this.length === 1) {
      const deleteNode = this.first;
      this.first = deleteNode.next;
    } else {
      const deleteNode = this.first;
      this.first = deleteNode.next;
      this.last = null;
    }
    this.length--;
    returnthis;
  }

Sin embargo aquí estamos cometiendo un error dado que al momento de aplicar el método cuando la estructura no tenga ningún elemento ósea cuando su this.lenght sea igual a 0, el método va restar una unidad a ese this.lenght que ahora va ser -1, si esto sucede y en un futuro queremos agregar un nuevo elemento a esta estructura, cuando lo hagamos su this.lenght que debería ser 1 no lo va ser, va ser 0 y esto es un error, la forma en que deberíamos dejar el código en mi opinión es con un this.lenght - -; dentro de cada if excepto en el que tiene la validación de this.lenght ===0, de la siguiente manera:

dequeue() {
    if(this.length === 0) {
      console.error('El Queue está vacío, no hay elementos para eliminar');
    } elseif(this.length === 1) {
      const deleteNode = this.first;
      this.first = deleteNode.next;
      this.length--;
    } else {
      const deleteNode = this.first;
      this.first = deleteNode.next;
      this.last = null;
      this.length--;
    }
    return this;
  }

Espero les sea util compañeros, #NuncaParesDeAprender

Curso de Estructuras de Datos con JavaScript

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados