Я предоставлю вам пример реализации стековой структуры данных для хранения сведений о книге (номер и название книги). Вот программа на 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. Затем мы демонстрируем, как вынимаем верхнюю книгу из стопки и смотрим на новую верхнюю книгу.