Python函数实现栈和队列
发布时间:2023-06-16 15:24:23
Python中非常常见的数据结构就是栈和队列。栈是一种LIFO(Last In First Out)即后进先出结构,中文又称为堆栈。队列是一种FIFO(First In First Out)即先进先出结构,中文又称为先进先出队列。在这篇文章中,我们将介绍Python如何实现栈和队列。
1. 栈
Python中实现栈的方法非常简单。我们可以用Python列表来实现栈。栈顶元素在列表的末端,栈底元素在列表的开始。列表的append方法能够让我们在列表的末端添加元素,而pop方法能够让我们删除列表的末尾元素。
下面是一个实现栈的Python代码:
class Stack:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def push(self, item):
self.items.append(item)
def pop(self):
try:
return self.items.pop()
except IndexError:
return None
def peek(self):
try:
return self.items[-1]
except IndexError:
return None
def size(self):
return len(self.items)
我们使用一个列表来保存栈内元素,实现了is_empty、push、pop、peek、size五个方法。
2. 队列
同样地,Python中实现队列的方法也非常简单。我们可以用Python列表来实现队列。队列尾部的元素在列表的末端,队列头部元素在列表的开始。我们可以使用append方法来将元素添加到队列尾,使用pop(0)方法来从队列头部弹出元素。
下面是一个实现队列的Python代码:
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return len(self.items) == 0
def enqueue(self, item):
self.items.append(item)
def dequeue(self):
try:
return self.items.pop(0)
except IndexError:
return None
def size(self):
return len(self.items)
我们使用一个列表来保存队列内元素,实现了is_empty、enqueue、dequeue、size四个方法。
总结
在Python中实现栈和队列非常简单,我们只需要使用Python内置的列表来保存元素,然后定义对应的操作方法,就能实现栈和队列的基本功能。同时,Python还有其他数据结构,如链表、堆等,供开发者使用,便于满足不同需求。
