(1)实现链栈的基本运算
时间: 2024-10-15 21:21:59 浏览: 26
链栈是一种基于链表数据结构实现的栈,它的基本操作通常包括:
1. 初始化(Push):向栈顶添加元素,新节点成为栈顶,并将指针更新为其前驱节点。
```python
class Node:
def __init__(self, data):
self.data = data
self.next = None
def push(self, item):
new_node = Node(item)
if not self.is_empty():
new_node.next = self.top
self.top = new_node
self.size += 1
```
2. 删除/弹出(Pop):从栈顶移除并返回元素。如果栈为空,则抛出异常。
```python
def pop(self):
if self.is_empty():
return None
popped_data = self.top.data
self.top = self.top.next
self.size -= 1
return popped_data
```
3. 查看栈顶元素(Peek/Top):不删除元素的情况下查看栈顶的数据,但不改变栈的状态。
```python
def peek(self):
if self.is_empty():
return None
return self.top.data
```
4. 判断栈是否空(IsEmpty):检查栈是否还有剩余元素。
```python
def is_empty(self):
return self.size == 0
```
5. 获取栈大小/长度(Size):返回栈中元素的数量。
```python
def size(self):
return self.size
```
阅读全文