数据结构链栈基本操作
时间: 2023-10-13 19:05:08 浏览: 174
数据结构栈的基本操作
链栈是一种基于链表实现的栈结构,它具有以下基本操作:
1. 初始化操作:创建一个空的链栈。
2. 入栈操作:将新元素插入到链栈的栈顶。
3. 出栈操作:删除链栈的栈顶元素,并返回该元素的值。
4. 获取栈顶元素:返回链栈的栈顶元素的值,但不删除该元素。
5. 判断链栈是否为空:检查链栈是否为空,即判断链栈中是否没有元素。
这些操作可以通过以下代码实现:
```python
# 定义链栈节点
class Node:
def __init__(self, value):
self.value = value
self.next = None
# 定义链栈
class LinkedStack:
def __init__(self):
self.top = None
# 入栈操作
def push(self, value):
new_node = Node(value)
if self.top is None:
self.top = new_node
else:
new_node.next = self.top
self.top = new_node
# 出栈操作
def pop(self):
if self.top is None:
return None
else:
value = self.top.value
self.top = self.top.next
return value
# 获取栈顶元素
def peek(self):
if self.top is None:
return None
else:
return self.top.value
# 判断链栈是否为空
def is_empty(self):
return self.top is None
# 测试链栈操作
stack = LinkedStack()
stack.push(1)
stack.push(2)
stack.push(3)
print(stack.pop()) # 输出:3
print(stack.peek()) # 输出:2
print(stack.is_empty()) # 输出:False
```
以上代码实现了链栈的基本操作,你可以根据需要进行调用和扩展。
阅读全文