如何编写代码实现先进后出的栈式结构
时间: 2023-05-30 10:06:24 浏览: 38
可以使用数组或链表来实现栈结构。
使用数组实现栈结构的代码如下:
```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()
def peek(self):
if not self.is_empty():
return self.stack[-1]
def is_empty(self):
return len(self.stack) == 0
def size(self):
return len(self.stack)
```
使用链表实现栈结构的代码如下:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class Stack:
def __init__(self):
self.head = None
def push(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
def pop(self):
if not self.is_empty():
popped_node = self.head
self.head = self.head.next
popped_node.next = None
return popped_node.data
def peek(self):
if not self.is_empty():
return self.head.data
def is_empty(self):
return self.head is None
def size(self):
count = 0
current = self.head
while current:
count += 1
current = current.next
return count
```
这里提供了两种不同的实现方式,具体选择哪种实现方式可以根据具体的需求和场景来决定。