python怎么实现栈
时间: 2023-06-26 16:06:57 浏览: 57
Python可以使用列表(list)来实现栈的基本功能,列表的`append()`方法用于入栈,`pop()`方法用于出栈。以下是一个简单的栈的实现示例:
```python
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def is_empty(self):
return len(self.items) == 0
def size(self):
return len(self.items)
```
使用示例:
```python
s = Stack()
s.push(1)
s.push(2)
s.push(3)
print(s.pop()) # 3
print(s.pop()) # 2
print(s.pop()) # 1
print(s.is_empty()) # True
```
相关问题
用 Python 实现栈.
可以使用 Python 中的列表来实现栈,列表的 append() 和 pop() 方法可以分别实现入栈和出栈操作。
下面是一个简单的栈类实现:
```python
class Stack:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def push(self, item):
self.items.append(item)
def pop(self):
if self.is_empty():
return None
else:
return self.items.pop()
def peek(self):
if self.is_empty():
return None
else:
return self.items[-1]
def size(self):
return len(self.items)
```
使用示例:
```python
s = Stack()
s.push('a')
s.push('b')
s.push('c')
print(s.size()) # 输出 3
print(s.peek()) # 输出 c
print(s.pop()) # 输出 c
print(s.pop()) # 输出 b
print(s.pop()) # 输出 a
print(s.pop()) # 输出 None
```
python实现顺序栈
好的,关于 Python 实现顺序栈,我们可以使用列表来实现。下面是一个简单的代码示例:
```python
class SeqStack:
def __init__(self, max_size):
self.max_size = max_size
self.stack = []
def is_empty(self):
return len(self.stack) == 0
def is_full(self):
return len(self.stack) == self.max_size
def push(self, data):
if self.is_full():
raise Exception("Stack is full")
self.stack.append(data)
def pop(self):
if self.is_empty():
raise Exception("Stack is empty")
return self.stack.pop()
```
这个代码实现了一个可以指定最大存储空间的顺序栈,支持入栈和出栈操作,并提供了判断栈是否为空或者已满的方法。希望这个回答可以帮到你。下一个问题,请问你最喜欢的歌曲是什么?