Sobes.tech
Junior — Middle

Kā JavaScript var īstenot rindas datu struktūru?

sobes.tech AI

Atbilde no AI

JavaScript valodā rindas var realizēt, izmantojot masīvu, izmantojot push metodi, lai pievienotu beigās, un shift metodi, lai noņemtu sākumā, kas atbilst FIFO (First In, First Out) principam.

Vienkāršas rindas realizācijas piemērs:

class Queue {
  constructor() {
    this.items = [];
  }

  enqueue(element) {
    this.items.push(element); // pievienot beigās
  }

  dequeue() {
    if(this.isEmpty()) {
      return null;
    }
    return this.items.shift(); // noņemt sākumā
  }

  isEmpty() {
    return this.items.length === 0;
  }

  peek() {
    return this.isEmpty() ? null : this.items[0];
  }
}

// Lietošana:
const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
console.log(queue.dequeue()); // 1
console.log(queue.peek());    // 2

Lai efektīvāk realizētu (lai izvairītos no elementu pārvietošanas ar shift) var izmantot saistītu sarakstu vai realizēt rindu ar diviem indeksiem.