1. 用代码实现一个栈并完成以下要求: (1) 输入0123入栈后再出栈并打印输出; (2) 对栈顶元素出栈后输出剩余元素并打印输出; (3) 判断此时栈是否为空; (4) 判断此时栈的长度; (5) 判断此时栈顶元素大小。
时间: 2024-11-04 21:13:49 浏览: 14
在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 is_empty(self):
return len(self.stack) == 0
# 获取栈的当前长度
def size(self):
return len(self.stack)
# 获取栈顶元素,但不移除
def peek(self):
if not self.is_empty():
return self.stack[-1]
# 使用示例
stack = Stack()
stack.push(0)
stack.push(1)
stack.push(2)
stack.push(3)
print("出栈并打印:", stack.pop()) # 输出: 3
print("剩余元素:", [item for item in stack]) # 输出: [0, 1, 2]
print("栈是否为空:", stack.is_empty()) # 输出: False
print("栈的长度:", stack.size()) # 输出: 3
print("栈顶元素:", stack.peek()) # 输出: 2
# 栈空时尝试出栈,无结果
stack.pop() # 此处将返回None
```
在这个例子中,我们创建了一个`Stack`类,包含了入栈、出栈、检查空栈、获取栈长以及查看栈顶元素的操作。你可以根据需要扩展这个类或者用其他语言实现类似功能。
阅读全文