: (tumpukan) juga dikenal sebagai tumpukan, ini adalah tabel linier dengan operasi terbatas. Ikuti last-in-first-out (LIFO)
bagian atas tumpukan : daftar linier yang membatasi operasi penyisipan dan penghapusan hanya sampai akhir tabel, dan
bagian bawah tumpukan : daftar linier yang membatasi operasi penyisipan dan penghapusan hanya sampai ke kepala.
Pushing : Memasukkan elemen baru ke dalam tumpukan disebut juga mendorong, mendorong atau mendorong. Ini adalah untuk meletakkan elemen baru di atas elemen teratas tumpukan, menjadikannya elemen teratas tumpukan yang baru:
menghapus dari a Elemen tumpukan juga disebut popping atau popping off the stack. Ini menghapus elemen teratas tumpukan dan membuat elemen yang berdekatan menjadi elemen teratas tumpukan yang baru.
apa yang berorientasi pada proses:
Berorientasi pada proses adalah menganalisis langkah-langkah untuk menyelesaikan masalah dan
kemudian menggunakan fungsi
untuk mengimplementasikannya.
- push (elemen ) menambahkan satu atau lebih elemen ke bagian atas tumpukan
- pop () menghapus elemen teratas dan mengembalikan elemen yang dihapus
- peek () mengembalikan elemen di bagian atas tumpukan
- isEmpty () adalah digunakan untuk menentukan apakah tumpukan kosong, maka akan kosong.
- clear() digunakan untuk menghapus elemen tumpukan.
- size() digunakan untuk mengembalikan jumlah elemen dalam tumpukan.
Sebelum mengimplementasikannya, mari kita pikirkan bagaimana kita mengimplementasikannya
. Pertama, kita meminjam metode array untuk mengimplementasikannya, jadi kita perlu membuat
array kosong untuk mensimulasikan tumpukan
untuk membangun kelas, menggunakan array untuk mensimulasikannya, dan
menulis berbagai metode di kelas
untuk memanggil sebagian metode array.
Secara umum, metode penggunaan kelas untuk membungkus
array adalah dengan merealisasikan simulasi
kelas tumpukan Stack { konstruktor() { ini.item = [] } dorongan(elemen) { this.item.push(elemen) } pop() { kembalikan ini.item.pop() } mengintip() { kembalikan item ini[ini.item.panjang - 1] } isEmpty() { kembalikan ini.item.panjang === 0 } jernih() { ini.item = [] ukuran() { kembalikan ini.item.panjang } } //Membuat instance kelas Stack const stack = new Stack() tumpukan.push(4) tumpukan.push(6) konsol.log( tumpukan.pop()) konsol.log(tumpukan.mengintip()) konsol.log(tumpukan.isEmpty())Hasil
Console.log(stack.size())
:
berorientasi objek:
Menguraikan hal-hal yang membangun masalah menjadi beberapa objek .
Objek tersebut tidak didirikan untuk menyelesaikan suatu langkah tertentu, tetapi untuk
menggambarkan perilaku sesuatu dalam proses penyelesaian masalah.
- push (elemen ) menambahkan satu atau lebih elemen ke bagian atas tumpukan
- pop () menghapus elemen teratas dan mengembalikan elemen yang dihapus
- peek () mengembalikan elemen di bagian atas tumpukan
- isEmpty () adalah digunakan untuk menentukan apakah tumpukan itu Kosong, kosong itu kosong
- clear() digunakan untuk menghapus elemen tumpukan
- size() digunakan untuk mengembalikan jumlah elemen dalam tumpukan
- toString() digunakan untuk mencetak tumpukan dalam bentuk dari sebuah string
. Kemudian ketika mengimplementasikan kelas ini, kami menggunakan objek untuk tumpukan Simulasi
kelas Stack { konstruktor() { ini.hitungan=0 ini.item = {} } dorongan(elemen) { ini.item[ini.hitungan]=elemen ini.hitung++ } pop() { if(ini.isEmpty()){ kembali tidak terdefinisi } ini.hitungan-- hasil const=ini.item[ini.hitungan] hapus ini.item[ini.hitungan] hasil kembali } mengintip() { if(ini.isEmpty()){ kembali tidak terdefinisi } kembalikan ini.item[ini.hitungan-1] } isEmpty() { kembalikan ini.count===0 } jernih() { ini.item={} ini.hitungan=0 } ukuran() { kembalikan ini.hitung } keString(){ if(ini.isEmpty()){ kembali tidak terdefinisi } biarkan objekString=`${ini.item[0]}` for(biarkan i=1;i<ini.hitung;i++){ objectString=`${objectString},${ini.item[i]}` } kembalikan objekString } } tumpukan const = Tumpukan baru() tumpukan.push(23) tumpukan.push(34) tumpukan.push(80) konsol.log( tumpukan.pop()) konsol.log(tumpukan.mengintip()) konsol.log(tumpukan.isEmpty()) konsol.log(tumpukan.ukuran())Ketika
console.log(stack.toString())
menggunakan objek untuk mensimulasikan tumpukan, ia menggunakan key:value
untuk menyimpan data. Misalnya, this.items[this.count]=element menggunakan
this.count untuk merekam dalam struktur ini ukuran tumpukan.
Saat kami memasukkan angka ke dalamnya, kami menetapkan hitungan sebagai kunci
dan memasukkan nilai sebagai nilainya. Saat ini, Anda perlu mengubah this.count++.
Mengenai pop() dan peek(), metode toString() harus
terlebih dahulu menentukan apakah tumpukan kosong.