python栈和队列计算机二级常考
时间: 2023-09-21 13:04:32 浏览: 143
Python中的栈和队列是计算机二级常考的数据结构。
栈(Stack)是一种先进后出(Last In First Out, LIFO)的数据结构。它可以通过使用列表(List)或者使用内置模块collections中的deque来实现。栈常用的操作有入栈(push)、出栈(pop)、判断栈是否为空(empty)以及获取栈顶元素(top)等。
下面是使用列表实现栈的示例代码:
```python
stack = [] # 创建空栈
# 入栈
stack.append(1)
stack.append(2)
stack.append(3)
# 出栈
top_element = stack.pop() # 弹出栈顶元素,此时top_element为3
print(top_element)
# 判断栈是否为空
if not stack:
print("栈为空")
# 获取栈顶元素
top_element = stack[-1] # 此时top_element为2
print(top_element)
```
队列(Queue)是一种先进先出(First In First Out, FIFO)的数据结构。同样可以使用列表或者collections中的deque来实现队列。队列常用的操作有入队(enqueue)、出队(dequeue)、判断队列是否为空(empty)以及获取队首元素(front)等。
下面是使用列表实现队列的示例代码:
```python
queue = [] # 创建空队列
# 入队
queue.append(1)
queue.append(2)
queue.append(3)
# 出队
front_element = queue.pop(0) # 弹出队首元素,此时front_element为1
print(front_element)
# 判断队列是否为空
if not queue:
print("队列为空")
# 获取队首元素
front_element = queue[0] # 此时front_element为2
print(front_element)
```
以上是使用列表实现栈和队列的基本操作,当然也可以使用内置模块collections中的deque来实现,deque提供了高效的操作,尤其是在频繁的插入和删除操作中。
阅读全文