队列
队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
队列的实现:
- Queue()创建一个空队列
- enqueue(item)往队列中添加一个item元素
- dequeue()从队列头部删除一个元素
- is_empty()判断一个队列是否为空
- size()返回队列大小
队列的构建:
- 创建一个叫做队列的类
- 创建队列的容器;用列表初始化容器,列表可以存放元素
- 列表需要私有化__list(不能让外部的直接操作内部容器)
class Queue(object):#初始化构造容器def __init__(self):self.__list=[]
进队enqueue
调用list的append方法,并且传入元素item
def enqueue(self,item):
self.__list.append(item)
出队dequeue
调用list的pop方法
def dequeue(self):
return self.__list.pop(0)
判空,元素个数
与栈相同
# 判空
def is_empty(self):
return self.__list == []
# return not self.__list
#队列的元素个数
def size(self):
return len(self.__list)
#定义一个类封装队列
#构造队列的对象添加元素
class Queue(object):
#初始化构造容器
def __init__(self):
self.__list=[]
#进队
def enqueue(self,item):
self.__list.append(item)
#出队
def dequeue(self):
#头部删除
return self.__list.pop(0)
# 判空
def is_empty(self):
return self.__list == []
# return not self.__list
#队列的元素个数
def size(self):
return len(self.__list)
双端队列
双端队列(deque,全名double-ended queue),是一种具有队列和栈的性质的数据结构。
双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双端队列可以在队列任意一端入队和出队
队列的实现
- Deque() 创建一个空的双端队列
- add_front(item) 从队头加入一个item元素
- add_rear(item) 从队尾加入一个item元素
- remove_front() 从队头删除一个item元素
- remove_rear() 从队尾删除一个item元素
- is_empty() 判断双端队列是否为空
- size() 返回队列的大小
队列的构建:
与队列类似
class Dequeu(object):
#初始化构造容器
def __init__(self):
self.__list=[]
头部添加add_front
可以调用insert方法在0处插入元素
def add_front(self,item):
self.__list(0,item)
尾部添加add_rear
调用apped方法
def add_rear(self,item):
self.append(item)
头部弹出pop_front
def pop_front(self):
return se;f.__list.pop(0)
尾部弹出pop_rear
def pop_rear(self):
return se;f.__list.pop()
判空,元素个数
与队列相同
# 判空
def is_empty(self):
return self.__list == []
# return not self.__list
#队列的元素个数
def size(self):
return len(self.__list)
#定义一个类封装队列
#构造队列的对象添加元素
class Deque(object):
#初始化构造容器
def __init__(self):
self.__list=[]
#头部添加
def add_front(self,item):
self.__list.insert(0,item)
#尾部添加
def add_rear(self,item):
self.__list.append(item)
#头部弹出
def pop_front(self):
return self.__list.pop(0)
#尾部弹出
def pop_rear(self):
return self.__list.pop()
#判空
def is_empty(self):
return self.__list == []
#长度
def size(self):
return len(self.__list)
