Pinot ovat lineaarisia tietorakenteita, jotka noudattavat LIFO-periaatetta. LIFO on lyhenne sanoista last in first out, mikä tarkoittaa, että viimeksi lisätty kohde poistetaan ensimmäisenä. Tätä tietorakennetta kutsutaan pinoksi analogisesti todellisen maailman pinoihin, esimerkiksi pino evästeitä keksipurkissa tai pino kirjoja kirjahyllyssä. Pinossa lisääminen ja poistaminen voidaan tehdä vain toisessa päässä eli pinon yläosassa. Jos esimerkiksi haluamme syödä keksin, saamme ensin ylimmän ja sitten toisen ja niin edelleen.
Tämä viesti käsittelee pinon käyttöönottoa JavaScriptissä. Kun työskentelemme JavaScriptin kanssa, emme ole huolissamme pinon koosta, koska JavaScript-objektien koko voi kasvaa dynaamisesti.
Pinon käyttöönotto JavaScriptissä
Käytämme JavaScript-luokkaa pinon tietorakenteen toteuttamiseen. The pino luokka sisältää konstruktorissaan taulukon, jota käytetään elementtien tallentamiseen pinoon. Luokka määrittelee myös erilaisia menetelmiä, joita käytetään pinon sisään tallennettujen tietojen käsittelyyn. Taulukon perusmenetelmät ovat insert() ja ottaa talteen() menetelmät, joita käytetään elementtien lisäämiseen ja poistamiseen pinon yläosasta.
The pino luokka määrittelee myös muita menetelmiä, kuten kurkistaa() , on tyhjä() , asia selvä() , Tulosta() ja koko() yhtä hyvin:
luokan pino {
rakentaja ( ) {
this.elements = [ ] ;
}
// Sijoittaa kohteen pinon päälle
lisää ( elementti ) {
this.elements.push ( elementti ) ;
}
// Poistaa kohteen pinon yläosasta
ottaa talteen ( ) {
this.elements.pop ( ) ;
}
// Palauttaa pinon ylimmän elementin
kurkistaa ( ) {
palata tämä.elementtejä [ this.elements.length - 1 ] ;
}
// Tarkastukset jos pino on tyhjä
on tyhjä ( ) {
palata this.elements.length == 0 ;
}
// Tulostaa koko pinon
Tulosta ( ) {
varten ( päästää minä = 0 ; i < this.elements.length; i++ ) {
console.log ( tämä.elementtejä [ i ] ) ;
}
}
// Palauttaa koko pinosta
koko ( ) {
palata this.elements.length;
}
// tyhjentää pinon
asia selvä ( ) {
this.elements = [ ] ;
}
}
Elementtien työntäminen ja pompattaminen pinosta
Pinon perustoiminto on elementtien lisääminen ja irrottaminen pinon yläosasta. Pinoluokka tarjoaa kaksi menetelmää näille toiminnoille:
Yllä mainitun koodin ensimmäinen rivi ilmoittaa uuden pinon nimeltä s . Sitten insert() -menetelmää käytetään neljän elementin lisäämiseen pinoon, joista kaksi poistetaan ottaa talteen() menetelmä.
Kuinka saada ylin elementti pinosta
The pino luokka määrittelee kurkistaa() tapa saada ylin elementti pinosta:
Kuinka tarkistaa, onko pino tyhjä?
Luokka määrittelee myös menetelmän, jolla voidaan tarkistaa, onko pino tyhjä:
Kuinka tulostaa koko pino?
The Tulosta() menetelmää voidaan kutsua tulostamaan koko pino
Kuinka tarkistaa pinon koko?
The koko() menetelmä käyttää .pituus ominaisuus pinon koon saamiseksi:
Kuinka tyhjentää koko pino?
yksinkertaisesti vedota asia selvä() tapa poistaa kaikki pinon elementit:
Johtopäätös
Pinot ovat hyödyllisiä tietorakenteita monissa todellisissa sovelluksissa, kuten selainhistoriassa, tekstieditorien kumoamispainikkeessa ja puhelulokeissa. Kaikki nämä sovellukset noudattavat LIFO-periaatetta, esim. selaimen takaisin-painike palaa viimeksi vieraillulle sivulle ja puhelulokin ensimmäinen merkintä on aina viimeisin puhelu.
Pinon käyttöönotto JavaScriptissä on todella helppoa, koska siinä on sisäänrakennettu työntää ja pop- menetelmät taulukoille. Tämä artikkeli esittelee pinon käyttöönottoprosessin JavaScriptissä.