Python 的内置数据类型?list
?可以用来模拟栈的行为,因为它支持后进先出(LIFO)的插入和删除操作。可以使用?append()
?方法将元素压入栈顶,使用?pop()
?方法弹出栈顶元素。
class Stack:
def __init__(self):
self.stack = []
# 入栈操作
def push(self, item):
self.stack.append(item)
# 出栈操作
def pop(self):
if not self.is_empty():
return self.stack.pop()
else:
return None
# 查看栈顶元素
def peek(self):
if not self.is_empty():
return self.stack[-1]
else:
return None
# 判断栈是否为空
def is_empty(self):
return len(self.stack) == 0
s = Stack()
s.push("apple")
s.push("banana")
s.push("cherry")
print(s.pop()) # 输出: "cherry"
print(s.peek()) # 输出: "banana"
Python 的内置数据类型?dict
?可以用来模拟堆的行为,因为它可以动态地分配和释放内存。可以使用?dict
?类型来创建和存储对象,并使用?del
?语句来释放对象所占用的内存
队列(Queue)是一种先进先出(First In First Out,FIFO)的数据结构,它遵循这样的原则:最先进入队列的元素将最先离开。这种数据结构的主要操作包括入队(enqueue)和出队(dequeue)。
import queue
# 创建一个队列
q = queue.Queue()
# 入队操作
q.put("apple")
q.put("banana")
q.put("cherry")
# 出队操作
print(q.get()) # 输出: "apple"
print(q.get()) # 输出: "banana"
print(q.get()) # 输出: "cherry"