根据数据结构对栈的运算编写程序
时间: 2024-09-29 16:02:45 浏览: 30
栈是一种线性的数据结构,其基本操作包括压入(push),弹出(pop)和查看顶部元素(top)。下面是一个简单的Python程序示例,展示了如何基于数组实现一个基本的栈:
```python
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 top(self):
if not self.is_empty():
return self.stack[-1]
else:
return None
# 判断栈是否为空
def is_empty(self):
return len(self.stack) == 0
# 示例使用
stack = Stack()
stack.push(1)
stack.push(2)
print(stack.top()) # 输出: 2
print(stack.pop()) # 输出: 2
print(stack.is_empty()) # 输出: False
```
在这个例子中,`Stack` 类包含了常用的栈操作,你可以根据需要增加其他功能。如果你想要使用链表作为底层数据结构,会涉及到节点的创建和链接,但是核心原理是一致的。
阅读全文