双栈的基本操作的代码
时间: 2024-11-09 17:31:21 浏览: 25
双栈是一种数据结构,它包含两个独立的栈,通常称为主栈和辅助栈。下面是一个简单的Python实现,展示了双栈的主要操作:
```python
class DoubleStack:
def __init__(self):
self.main_stack = []
self辅助_stack = []
# 主栈的基本操作
def push_main(self, item):
self.main_stack.append(item)
def pop_main(self):
if not self.main_stack:
return None
return self.main_stack.pop()
def peek_main(self):
if not self.main_stack:
return None
return self.main_stack[-1]
# 辅助栈的基本操作
def push_aux(self, item):
self辅助_stack.append(item)
def pop_aux(self):
if not self辅助stack:
return None
return self辅助stack.pop()
def peek_aux(self):
if not self辅助stack:
return None
return self辅助stack[-1]
# 双栈特有的操作:从辅助栈弹出并压入主栈
def swap_stacks(self):
while self辅助stack:
self.push_main(self辅助stack.pop())
# 使用示例
double_stack = DoubleStack()
double_stack.push_main(1)
double_stack.push_main(2)
double_stack.push_aux(3)
double_stack.swap_stacks() # 现在主栈有 [3, 2]
```
阅读全文