Staklar va dasturlash tillari
Perl , LISP , JavaScript va Python kabi ba'zi tillar stek operatsiyalarini o'zlarining standart ro'yxat/massiv turlarida mavjud bo'lishini ta'minlaydi. Ba'zi tillar, xususan, to'rtinchi oiladagi tillar (jumladan , PostScript ) dasturchiga bevosita ko'rinadigan va boshqaradigan tilda belgilangan steklar atrofida yaratilgan.
Quyida Common Lisp -da stek bilan ishlashga misol keltirilgan (" > " - Lisp tarjimonining so'rovi; " > " bilan boshlanmagan qatorlar tarjimonning iboralarga javoblari):
> ( setf stack ( 'a ' b'c ro'yxati )) ;; "stek" o'zgaruvchisini o'rnatish ( A B C ) > ( pop stek ) ;; yuqori (eng chap) elementni olish, stekni o'zgartirishi kerak A > stek ;; stekning qiymatini tekshiring ( B C ) > ( 'yangi stekni bosing ) ;; yangi ustki qismini to'plamga suring ( YANGI B C )
C++ standart kutubxonasining bir nechta konteyner turlarida LIFO semantikasi bilan push_back va pop_back operatsiyalari mavjud; qo'shimcha ravishda, stek shablonlari sinfi mavjud konteynerlarni faqat push/pop operatsiyalari bilan cheklangan API bilan ta'minlash uchun moslashtiradi. PHP SplStack sinfiga ega. Java kutubxonasida ixtisoslashgan sinf mavjud . Quyida ushbu sinfdan foydalangan holda Java tilidagi dastur namunasi keltirilgan .StackVector
Dostları ilə paylaş: |