python双端队列的原理是什么

  介绍

这篇文章主要介绍python双端队列的原理是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

python的数据类型有哪些吗?

python的数据类型:1。数字类型,包括int(整型),长(长整型)和浮子(浮点型)。2。字符串,分别是str类型和unicode类型。3。布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和虚假的(假)。4。列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5。元组,元组用“()”标识,内部元素用逗号隔开。6。字,字典典是一种键值对的集合。7。集合,集合是一个无序的,不重复的数据组合。

<强> 1,概念

具有队列和栈性质的数据结构。双端队列的要素可以从两端弹出,限定插入和删除操作在表的两端进行。双端队列可以在队列的任何一端进出。

<强> 2,原理

双端队列是一种具有队列和栈性质的数据结构。双端队列的元素可以从两端弹出,有限的插入和删除操作可以在队列的两端进行。可以理解为双端队列可以从队列的两端添加和删除元素,我们可以在创建或实例双端队列时指定队列的长度或大小。当队列满了,我们可以反向删除过期元素(从前删除),然后在队列的末尾添加新元素。

<强> 3,实例

 #,,,编码:utf-8 ——
  #,@time:,,,,,,今天11。49分2021/4/18 
  #,@Author: jsonLiu
  #,:,,,,xxxxxxxxx@qq.com
  #,@file:双端队列
  #,双端队列
  “““
  安康;双端队列()创建一个空的双端队列。它不需要参数,且会返回一个空的双端队列。
  安康;addFront(项目)将一个元素添加到双端队列的前端。它接受一个元素作为参数,没有返回值
  安康;addRear (项目)将一个元素添加到双端队列的后端。它接受一个元素作为参数,没有返回值。
  安康;popFront()从双端队列的前端移除一个元素。它不需要参数,且会返回一个元素,并修改双端队列的内容。
  安康;popRear()从双端队列的后端移除一个元素。它不需要参数,且会返回一个元素,并修改双端队列的内容。
  安康;isEmpty()检查双端队列是否为空。它不需要参数,且会返回一个布尔值。
  安康;大小()返回双端队列中元素的数目。它不需要参数,且会返回一个整数。
  “““
  ,
  ,
  class  Deque1:
  ,,,“““假设双端队列的后端是列表位置0处“““
  ,
  ,,,def  __init__(自我):
  ,,,,,,,self.__list =, []
  ,
  ,,,def  isEmpty(自我):
  ,,,,,,,#,return  self.__list ==, []
  ,,,,,,,return  not  self.__list
  ,
  ,,,def 大小(自我):
  ,,,,,,,return  len (self.__list)
  ,
  ,,,def  add_front(自我,,项):
  ,,,,,,,“““添加到双端队列前端“““
  ,,,,,,,self.__list.append(项)
  ,
  ,,,def  add_rear(自我,,项):
  ,,,,,,,“““添加到双端队列后端“““
  ,,,,,,,self.__list.insert(0,项)
  ,
  ,,,def  pop_front(自我):
  ,,,,,,,,,,从双端队列的前端移除一个元素“““
  ,,,,,,,return  self.__list.pop (len (self.__list),安康;1)
  ,,,,,,,#,return  self.__list.pop ()
  ,
  ,,,def  pop_rear(自我):
  ,,,,,,,“““双端队列的后端移除一个元素“““
  ,,,,,,,return  self.__list.pop (0)
  ,
  ,
  class  Deque2:
  ,,,“““假设双端队列的前端是列表位置0处“““
  ,
  ,,,def  __init__(自我):
  ,,,,,,,self.__list =, []
  ,
  ,,,def  isEmpty(自我):
  ,,,,,,,#,return  self.__list ==, []
  ,,,,,,,return  not  self.__list
  ,
  ,,,def 大小(自我):
  ,,,,,,,return  len (self.__list)
  ,
  ,,,def  add_front(自我,,项):
  ,,,,,,,“““添加到双端队列前端“““
  ,,,,,,,self.__list.insert(0,项)
  ,
  ,,,def  add_rear(自我,,项):
  ,,,,,,,“““添加到双端队列后端“““
  ,,,,,,,self.__list.append(项)
  ,
  ,,,def  pop_front(自我):
  ,,,,,,,,,,从双端队列的前端移除一个元素“““
  ,,,,,,,return  self.__list.pop (0)
  ,
  ,,,def  pop_rear(自我):
  ,,,,,,,“““双端队列的后端移除一个元素“““
  ,,,,,,,#,return  self.__list.pop ()
  ,,,,,,,return  self.__list.pop (len (self.__list),安康;1)
  ,
  ,
  if  __name__ ==, & # 39; __main__ # 39;:
  ,,,d =, Deque2 ()
  ,,,#,d =, Deque1 ()
  ,,,print (d.isEmpty()), #,真的
  ,,,d.add_rear (4)
  ,,,d.add_rear (3)
  ,,,d.add_front (2)
  ,,,d.add_front (1)
  null
  null
  null
  null
  null

python双端队列的原理是什么