Implementacija Stacka u JavaScriptu

Implementacija Stacka U Javascriptu



Stogovi su linearne podatkovne strukture koje slijede princip LIFO-a. LIFO je kratica za posljednji ušao prvi izašao što znači da je posljednja dodana stavka prva koja će biti uklonjena. Ova struktura podataka naziva se hrpa kao analogija s hrpom u stvarnom svijetu, npr. hrpa kolačića u staklenci za kolačiće ili hrpa knjiga na polici. U hrpu se umetanje i vađenje može obaviti samo na jednom kraju, tj. na vrhu hrpe. Na primjer, ako želimo pojesti kolačić, prvo ćemo dobiti gornji, zatim drugi i tako dalje.

Ovaj post će biti sve o implementaciji stack u JavaScript. Budući da radimo s JavaScriptom, nećemo se brinuti o veličini hrpe jer veličina JavaScript objekata može dinamički rasti.







Implementacija Stacka u JavaScriptu

Koristit ćemo JavaScript klasu za implementaciju strukture podataka stog. The stog klasa će sadržavati niz u svom konstruktoru koji će se koristiti za pohranu elemenata u stog. Klasa će također definirati različite metode koje će se koristiti za manipuliranje podacima pohranjenim unutar stoga. Najosnovnije metode niza su umetnuti() i ekstrakt() metode koje se koriste za dodavanje i uklanjanje elemenata s vrha stoga.



The stog klasa također definira druge metode kao što su zaviriti() , prazno je() , čisto() , ispis() i veličina() također:



hrpa klasa {
konstruktor ( ) {

ovo.elementi = [ ] ;

}

// Stavlja stavku na vrh hrpe

umetnuti ( element ) {

ovaj.elementi.gurati ( element ) ;

}

// Uklanja stavku s vrha hrpe

ekstrakt ( ) {

ovo.elementi.pop ( ) ;

}

// Vraća najviši element snopa

zaviriti ( ) {

povratak ovo.elementi [ this.elements.length - 1 ] ;

}
// Čekovi ako stog je prazan

prazno je ( ) {

povratak this.elements.length == 0 ;

}

// Ispisuje cijeli snop

ispisati ( ) {
za ( neka ja = 0 ; ja < ovaj.elementi.duljina; i++ ) {
konzola.log ( ovo.elementi [ ja ] ) ;
}

}
// Vraća veličina od hrpe

veličina ( ) {

povratak ovaj.elementi.duljina;

}

// čisti stog

čisto ( ) {
ovo.elementi = [ ] ;
}

}





Guranje i iskakanje elemenata iz hrpe

Najosnovnija operacija snopa je umetanje i izdvajanje elemenata s vrha snopa. Klasa stog nudi dvije metode za ove operacije:


Prvi redak gore navedenog koda deklarira novi stog pod nazivom s . Onda umetnuti() koristi se za umetanje četiri elementa u hrpu, od kojih se dva zatim uklanjaju ekstrakt() metoda.



Kako dobiti gornji element iz hrpe

The stog klasa definira zaviriti() metoda za dobivanje gornjeg elementa iz hrpe:


Kako provjeriti je li stog prazan?

Klasa također definira metodu koja se može koristiti za provjeru je li stog prazan:


Kako ispisati cijelu hrpu?

The ispis() metoda se može pozvati za ispis cijelog hrpa


Kako provjeriti veličinu hrpe?

The veličina() metoda koristi .duljina svojstvo za dobivanje veličine stoga:


Kako očistiti cijeli stog?

Jednostavno pozovite čisto() metoda za uklanjanje svakog elementa snopa:

Zaključak

Skupovi su korisne strukture podataka s mnogim aplikacijama iz stvarnog svijeta kao što su povijest preglednika, gumb za poništavanje u uređivačima teksta i zapisnici poziva. Sve te aplikacije slijede LIFO princip, npr. gumb za povratak u pregledniku vraća na posljednju posjećenu stranicu, a prvi unos u zapisniku poziva uvijek je zadnji poziv.

Implementacija stacka u JavaScriptu vrlo je jednostavna jer ima ugrađenu gurnuti i pop metode za nizove. Ovaj članak demonstrira proces implementacije stoga u JavaScriptu.