Python - Tumpukan

Dalam kamus bahasa Inggris kata stack berarti mengatur objek di atas yang lain. Ini adalah cara yang sama untuk mengalokasikan memori dalam struktur data ini. Ini menyimpan elemen data dengan cara yang sama seperti sekelompok piring disimpan satu di atas yang lain di dapur. Jadi struktur data tumpukan memungkinkan operasi di salah satu ujung yang dapat disebut atas tumpukan. Kita dapat menambahkan elemen atau menghapus elemen hanya dari en dof stack.

Dalam tumpukan, elemen yang disisipkan terakhir secara berurutan akan keluar lebih dulu karena kita hanya dapat menghapus dari bagian atas tumpukan. Fitur tersebut dikenal sebagai fitur Last in First Out (LIFO). Operasi penambahan dan penghapusan elemen dikenal sebagaiPUSH dan POP. Dalam program berikut kami menerapkannya sebagai fungsi tambah dan dan hapus. Kami menyembunyikan daftar kosong dan menggunakan metode append () dan pop () untuk menambah dan menghapus elemen data.

Dorong ke dalam Stack

class Stack:

    def __init__(self):
        self.stack = []

    def add(self, dataval):
# Use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False
# Use peek to look at the top of the stack

    def peek(self):     
	    return self.stack[-1]

AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.peek()
print(AStack.peek())
AStack.add("Wed")
AStack.add("Thu")
print(AStack.peek())

Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut:

Tue
Thu

POP dari Stack

Seperti yang kita ketahui, kita hanya dapat menghapus elemen data paling atas dari tumpukan, kita menerapkan program python yang melakukan itu. Fungsi hapus dalam program berikut mengembalikan elemen paling atas. kita memeriksa elemen teratas dengan menghitung ukuran tumpukan terlebih dahulu dan kemudian menggunakan metode pop () bawaan untuk mengetahui elemen paling atas.

class Stack:

    def __init__(self):
        self.stack = []

    def add(self, dataval):
# Use list append method to add element
        if dataval not in self.stack:
            self.stack.append(dataval)
            return True
        else:
            return False
        
# Use list pop method to remove element
    def remove(self):
        if len(self.stack) <= 0:
            return ("No element in the Stack")
        else:
            return self.stack.pop()

AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.add("Wed")
AStack.add("Thu")
print(AStack.remove())
print(AStack.remove())

Ketika kode di atas dijalankan, menghasilkan hasil sebagai berikut:

Thu
Wed