Имплементација стека у ЈаваСцрипт-у

Implementacija Steka U Javascript U



Стекови су линеарне структуре података које прате принцип ЛИФО. ЛИФО је скраћеница за последњи у први, што значи да је последња ставка прва која ће бити уклоњена. Ова структура података је названа стог као аналогија наслагама из стварног света, на пример, хрпа колачића у тегли за колачиће или хрпа књига на полици за књиге. У стеку уметање и вађење се може извршити само на једном крају, тј. на врху стека. На пример, ако желимо да једемо колачић, прво ћемо добити горњи, а затим други и тако даље.

Овај пост ће бити све о имплементацији стека у ЈаваСцрипт-у. Пошто радимо са ЈаваСцрипт-ом, нећемо бити забринути за величину стека јер величина ЈаваСцрипт објеката може динамички да расте.







Имплементација стека у ЈаваСцрипт-у

Користићемо ЈаваСцрипт класу за имплементацију структуре података стека. Тхе гомила класа ће садржати низ у свом конструктору који ће се користити за складиштење елемената у стеку. Класа ће такође дефинисати различите методе које ће се користити за манипулисање подацима ускладиштеним унутар стека. Најосновније методе низа су инсерт() и екстракт() методе које се користе за додавање и уклањање елемената са врха стека.



Тхе гомила класа дефинише и друге методе као нпр завирити () , Празно() , јасно() , принт() и величина() такође:



класа стацк {
конструктор ( ) {

тхис.елементс = [ ] ;

}

// Ставља ставку на врх гомиле

уметнути ( елемент ) {

тхис.елементс.пусх ( елемент ) ;

}

// Уклања ставку са врха снопа

екстракт ( ) {

тхис.елементс.поп ( ) ;

}

// Враћа највиши елемент стека

завирити ( ) {

повратак ово.елементи [ тхис.елементс.ленгтх - 1 ] ;

}
// Чекови ако стек је празан

Празно ( ) {

повратак тхис.елементс.ленгтх == 0 ;

}

// Штампа цео сноп

принт ( ) {
за ( дозволити и = 0 ; и < тхис.елементс.ленгтх; и++ ) {
цонсоле.лог ( ово.елементи [ и ] ) ;
}

}
// Враћа величина од стека

величина ( ) {

повратак тхис.елементс.ленгтх;

}

// чисти стек

јасно ( ) {
тхис.елементс = [ ] ;
}

}





Гурање и искакање елемената из стека

Најосновнија операција стека је уметање и издвајање елемената са врха стека. Класа стек обезбеђује две методе за ове операције:


Први ред горе поменутог кода проглашава нови стек под називом с . Затим инсерт() метода се користи за уметање четири елемента у стек, од којих се два затим уклањају помоћу екстракт() методом.



Како добити горњи елемент из стека

Тхе гомила класа дефинише завирити () метод за добијање горњег елемента из стека:


Како проверити да ли је стек празан?

Класа такође дефинише метод који се може користити за проверу да ли је стек празан:


Како одштампати цео сноп?

Тхе принт() метода се може позвати за штампање целог стека


Како проверити величину стека?

Тхе величина() метода користи .дужина својство да добијете величину стека:


Како очистити цео стек?

Једноставно позовите јасно() метод за уклањање сваког елемента стека:

Закључак

Стекови су корисне структуре података са многим апликацијама из стварног света, као што су историја прегледача, дугме за поништавање у уређивачима текста и евиденције позива. Све ове апликације прате ЛИФО принцип, на пример, дугме за назад у претраживачу враћа на последњу посећену страницу и први унос у евиденцији позива је увек последњи позив.

Имплементација стека у ЈаваСцрипт-у је заиста лака јер има уграђено гурати и поп методе за низове. Овај чланак показује процес имплементације стека у ЈаваСцрипт-у.