Gli stack sono strutture di dati lineari che seguono il principio di LIFO. LIFO è per ultimo in primo luogo, il che significa che l'oggetto aggiunto più recentemente è il primo ad essere rimosso. Questa struttura di dati è chiamata Stack come un'analogia con i pile del mondo reale e.G., Una pila di biscotti in un barattolo di biscotti o una pila di libri su uno scaffale. Nell'inserimento e nell'estrazione dello stack possono essere eseguiti solo da un'estremità i.e., La parte superiore dello stack. Ad esempio, se vogliamo mangiare un biscotto, prima otterremo il primo e poi il 2 ° e così via.
Questo post riguarderà l'implementazione di Stack in JavaScript. Dato che stiamo lavorando con JavaScript non ci preoccuperemo delle dimensioni dello stack poiché le dimensioni degli oggetti JavaScript possono crescere dinamicamente.
Implementazione dello stack in JavaScript
Utilizzeremo una classe JavaScript per implementare la struttura dei dati dello stack. IL pila La classe conterrà un array nel suo costruttore che verrà utilizzato per archiviare elementi nello stack. La classe definirà anche diversi metodi che verranno utilizzati per manipolare i dati memorizzati all'interno dello stack. I metodi più basilari dell'array sono il inserire() E estratto() Metodi che vengono utilizzati per aggiungere e rimuovere elementi dalla parte superiore dello stack.
IL pila la classe definisce anche altri metodi come sbirciare(), è vuoto(), chiaro(), stampa() E misurare() anche:
Stack di classe
costructor ()
Questo.elementi = [];
// posiziona un oggetto in cima allo stack
insert (element)
Questo.elementi.push (elemento);
// Rimuove un oggetto dalla parte superiore dello stack
estratto()
Questo.elementi.pop();
// restituisce il massimo elemento dello stack
peek ()
Restituisci questo.elementi [questo.elementi.lunghezza - 1];
// controlla se lo stack è vuoto
è vuoto()
Restituisci questo.elementi.lunghezza == 0;
// stampa l'intero stack
stampa()
per (let i = 0; i < this.elements.length; i++)
console.registro (questo.elementi [i]);
// restituisce le dimensioni dello stack
misurare()
Restituisci questo.elementi.lunghezza;
// cancella lo stack
chiaro()
Questo.elementi = [];
Spingendo e scoppando elementi dallo stack
Il funzionamento più semplice dello stack è inserire ed estrarre elementi dalla parte superiore dello stack. La classe Stack fornisce due metodi per queste operazioni:
La prima riga del codice sopra menzionato dichiara un nuovo stack chiamato S. Poi il inserire() il metodo viene utilizzato per inserire quattro elementi nello stack, due dei quali vengono quindi rimossi dal estratto() metodo.
Come ottenere l'elemento superiore dallo stack
IL pila la classe definisce il sbirciare() Metodo per ottenere l'elemento superiore dallo stack:
Come verificare se lo stack è vuoto?
La classe definisce anche un metodo che può essere utilizzato per verificare se lo stack è vuoto:
Come stampare l'intero stack?
IL stampa() Il metodo può essere chiamato per stampare l'intero stack
Come controllare le dimensioni dello stack?
IL misurare() Il metodo utilizza il .lunghezza Proprietà per ottenere le dimensioni dello stack:
Come cancellare l'intero stack?
Semplicemente invoca il chiaro() Metodo per rimuovere ogni elemento dello stack:
Conclusione
Gli stack sono utili strutture di dati con molte applicazioni del mondo reale come la cronologia del browser, il pulsante Annulla negli editori di testo e nei registri delle chiamate. Tutte queste applicazioni seguono il principio LIFO E.G., Il pulsante Indietro nel browser riprende all'ultima pagina visitata e la prima voce del registro delle chiamate è sempre l'ultima chiamata.
L'implementazione dello stack in JavaScript è davvero semplice in quanto ha l'insopportazione spingere E pop Metodi per array. Questo articolo dimostra il processo di implementazione dello stack in JavaScript.