📅  最后修改于: 2023-12-03 15:08:08.850000             🧑  作者: Mango
堆栈(Stack)是一种常见的数据结构,它遵循后进先出(LIFO)的原则。在堆栈中,如果要插入/删除一个元素,它只能在堆栈的顶部进行。Python中的列表也可以用作堆栈数据结构。
创建堆栈可以使用Python中的列表(list)。可以使用以下代码创建一个空堆栈:
stack = []
如果要创建一个带有元素的堆栈,则可以使用以下代码:
stack = [1, 2, 3, 4, 5]
堆栈支持以下操作:
以下是操作的相应代码:
# push()操作
stack.append(6)
print(stack) # 输出: [1, 2, 3, 4, 5, 6]
# pop()操作
stack.pop()
print(stack) # 输出: [1, 2, 3, 4, 5]
# peek()操作
print(stack[-1]) # 输出: 5
# is_empty()操作
print(not bool(stack)) # 输出: False
# size()操作
print(len(stack)) # 输出: 5
让我们通过创建一个堆栈类来实现堆栈。以下是实现代码:
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def is_empty(self):
return not bool(self.items)
def size(self):
return len(self.items)
现在我们可以使用以下代码进行堆栈操作:
s = Stack()
s.push('hello')
s.push('world')
s.push('!')
print(s.peek()) # 输出: !
print(s.pop()) # 输出: !
print(s.peek()) # 输出: world
print(s.is_empty()) # 输出: False
print(s.size()) # 输出: 2
通过这个堆栈类,我们可以更好地了解Python中的堆栈数据结构。