Программа Python для реализации стека для хранения сведений о книге

Я предоставлю вам пример реализации стековой структуры данных для хранения сведений о книге (номер и название книги). Вот программа на Python, демонстрирующая реализацию стека:

class Book:
    def __init__(self, book_no, book_name):
        self.book_no = book_no
        self.book_name = book_name
class Stack:
    def __init__(self):
        self.stack = []
    def is_empty(self):
        return len(self.stack) == 0
    def push(self, book):
        self.stack.append(book)
    def pop(self):
        if self.is_empty():
            return None
        else:
            return self.stack.pop()
    def peek(self):
        if self.is_empty():
            return None
        else:
            return self.stack[-1]
# Example usage:
book_stack = Stack()
book1 = Book(1, "Book A")
book2 = Book(2, "Book B")
book3 = Book(3, "Book C")
book_stack.push(book1)
book_stack.push(book2)
book_stack.push(book3)
print(book_stack.pop().book_name)  # Output: Book C
print(book_stack.peek().book_name)  # Output: Book B

В приведенном выше коде мы определяем два класса: Bookи Stack. Класс Bookпредставляет книгу с номером и названием книги. Класс Stackреализует структуру данных стека и предоставляет такие методы, как is_empty, push, popи . просмотрдля управления стеком.

Метод pushдобавляет книгу на вершину стека, метод popудаляет и возвращает самую верхнюю книгу из стека, а метод peekвозвращает самую верхнюю книгу, не удаляя ее. Метод is_emptyпроверяет, пуст стек или нет.

В примере использования мы создаем объект Stackс именем book_stackи помещаем в стек три объекта Book. Затем мы демонстрируем, как вынимаем верхнюю книгу из стопки и смотрим на новую верхнюю книгу.