Pelaksanaan Stack dalam JavaScript

Pelaksanaan Stack Dalam Javascript



Tindanan ialah struktur data linear yang mengikut prinsip LIFO. LIFO bermaksud last in first out bermakna item yang paling baru ditambah ialah yang pertama dialih keluar. Struktur data ini dinamakan timbunan sebagai analogi kepada timbunan dunia nyata cth., timbunan kuki dalam balang kuki atau timbunan buku di rak buku. Dalam pemasukan dan pengekstrakan tindanan hanya boleh dilakukan pada satu hujung iaitu, bahagian atas tindanan. Sebagai contoh, jika kita ingin makan biskut, kita akan mendapat yang atas dahulu dan kemudian yang ke-2 dan seterusnya.

Siaran ini adalah mengenai pelaksanaan tindanan dalam JavaScript. Semasa kami bekerja dengan JavaScript, kami tidak akan bimbang tentang saiz timbunan kerana saiz objek JavaScript boleh berkembang secara dinamik.







Pelaksanaan Stack dalam JavaScript

Kami akan menggunakan kelas JavaScript untuk melaksanakan struktur data tindanan. The timbunan kelas akan mengandungi tatasusunan dalam pembinanya yang akan digunakan untuk menyimpan elemen dalam timbunan. Kelas juga akan menentukan kaedah berbeza yang akan digunakan untuk memanipulasi data yang disimpan di dalam timbunan. Kaedah tatasusunan yang paling asas ialah masukkan() dan ekstrak() kaedah yang digunakan untuk menambah dan mengalih keluar elemen dari bahagian atas timbunan.



The timbunan kelas juga mentakrifkan kaedah lain seperti intip() , kosong() , jelas() , cetak() dan saiz() serta:



susunan kelas {
pembina ( ) {

ini.elemen = [ ] ;

}

// Meletakkan item di atas timbunan

masukkan ( unsur ) {

ini.elemen.tolak ( unsur ) ;

}

// Mengalih keluar item dari bahagian atas tindanan

ekstrak ( ) {

ini.elemen.pop ( ) ;

}

// Mengembalikan elemen paling atas timbunan

mengintip ( ) {

kembali ini.elemen [ this.elements.length - 1 ] ;

}
// Cek jika timbunan kosong

kosong ( ) {

kembali this.elements.length == 0 ;

}

// Mencetak keseluruhan timbunan

cetak ( ) {
untuk ( biarkan i = 0 ; i < ini.elemen.panjang; i++ ) {
konsol.log ( ini.elemen [ i ] ) ;
}

}
// Mengembalikan saiz daripada timbunan

saiz ( ) {

kembali ini.elemen.panjang;

}

// mengosongkan timbunan

jelas ( ) {
ini.elemen = [ ] ;
}

}





Menolak dan Menonjolkan elemen daripada timbunan

Operasi paling asas tindanan adalah untuk memasukkan dan mengekstrak elemen dari bahagian atas tindanan. Kelas tindanan menyediakan dua kaedah untuk operasi ini:


Baris pertama kod yang disebutkan di atas mengisytiharkan timbunan baharu dinamakan s . Kemudian masukkan() kaedah digunakan untuk memasukkan empat elemen ke timbunan, dua daripadanya kemudian dikeluarkan oleh ekstrak() kaedah.



Bagaimana untuk mendapatkan elemen teratas dari timbunan

The timbunan kelas mentakrifkan intip() kaedah untuk mendapatkan elemen teratas dari timbunan:


Bagaimana untuk menyemak sama ada timbunan kosong?

Kelas juga mentakrifkan kaedah yang boleh digunakan untuk memeriksa sama ada timbunan kosong:


Bagaimana untuk mencetak keseluruhan timbunan?

The cetak() kaedah boleh dipanggil untuk mencetak keseluruhan timbunan


Bagaimana untuk menyemak saiz timbunan?

The saiz() kaedah menggunakan .panjang harta untuk mendapatkan saiz timbunan:


Bagaimana untuk mengosongkan keseluruhan timbunan?

Cukup gunakan jelas() kaedah untuk mengalih keluar setiap elemen timbunan:

Kesimpulan

Tindanan ialah struktur data yang berguna dengan banyak aplikasi dunia nyata seperti sejarah penyemak imbas, butang buat asal dalam penyunting teks dan log panggilan. Semua aplikasi ini mengikut prinsip LIFO cth., butang belakang dalam penyemak imbas membawa kembali ke halaman terakhir yang dilawati dan entri pertama log panggilan sentiasa panggilan terkini.

Pelaksanaan tindanan dalam JavaScript adalah sangat mudah kerana ia mempunyai terbina dalam menolak dan pop kaedah untuk tatasusunan. Artikel ini menunjukkan proses pelaksanaan tindanan dalam JavaScript.