IT评测·应用市场-qidao123.com

标题: 【数据结构】循环队列原理与代码 [打印本页]

作者: 用多少眼泪才能让你相信    时间: 2024-12-14 01:56
标题: 【数据结构】循环队列原理与代码
理论


   总结:front初始只有大概为0!
  
   注意:出队入队之前的检查空满的条件
  
代码练习

   https://www.lintcode.com/problem/955/
  1. class CircularQueue:
  2.     def __init__(self, n):
  3.         # do intialization if necessary
  4.         self.arr = [None]*n
  5.         self.head, self.tail = 0, -1 #队尾先+1再放元素
  6.         self.size = n
  7.     """
  8.     @return:  return true if the array is full
  9.     """
  10.     def isFull(self):
  11.         return self.head == (self.tail + 1) % self.size and not self.arr[self.tail] is None
  12.         
  13.     """
  14.     @return: return true if there is no element in the array
  15.     """
  16.     def isEmpty(self):
  17.         return self.arr[self.tail] is None #队尾始终指向最后一个元素
  18.         
  19.     """
  20.     @param element: the element given to be added
  21.     @return: nothing
  22.     """
  23.     def enqueue(self, element):
  24.         self.tail = (self.tail + 1) % self.size
  25.         self.arr[self.tail] = element
  26.     """
  27.     @return: pop an element from the queue
  28.     """
  29.     def dequeue(self):
  30.         ele = self.arr[self.head]
  31.         self.arr[self.head] = None
  32.         self.head = (self.head + 1) % self.size
  33.         return ele
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4