• Python: Queue class


     1 class Queue():
     2     def __init__(self, size):
     3         self.queue = []
     4         self.size = size
     5         self.head = 0
     6         self.tail = 0
     7 
     8     def isEmpty(self):
     9         if self.head == self.tail:
    10             return True
    11         else:
    12             return False
    13 
    14     def isFull(self):
    15         if self.tail - self.head == self.size:
    16             return True
    17         else:
    18             return False
    19 
    20     def inQueue(self, content):
    21         if self.isFull():
    22             print "Queue is full"
    23         else:
    24             self.queue.append(content)
    25             self.tail += 1
    26 
    27     def outQueue(self):
    28         if self.isEmpty():
    29             print "Queue is empty"
    30         else:
    31             self.queue.remove(self.queue[0])
    32             self.tail -= 1
    33 
    34 def printQueueInfo(aQueue):
    35     print "isEmpty:	{0}".format(aQueue.isEmpty())
    36     print "isFull:		{0}".format(aQueue.isFull())
    37     print "head:		{0}".format(aQueue.head)
    38     print "tail:		{0}".format(aQueue.tail)
    39     print "queue:		{0}".format(aQueue.queue)
    40 
    41 print "1. Initialise a stack with a size of 2, i.e. store at most 2 elements"
    42 q = Queue(2)
    43 printQueueInfo(q)
    44 
    45 print "
    2. Add 'a'"
    46 q.inQueue('a')
    47 printQueueInfo(q)
    48 
    49 print "
    3. Add 'b'"
    50 q.inQueue('b')
    51 printQueueInfo(q)
    52 
    53 print "
    4. Remove 'a'"
    54 q.outQueue()
    55 printQueueInfo(q)
    56 
    57 print "
    5. Add 'c'"
    58 q.inQueue('c')
    59 printQueueInfo(q)
  • 相关阅读:
    【BZOJ】4011: [HNOI2015]落忆枫音
    【BZOJ】1187: [HNOI2007]神奇游乐园
    【CERC2007】机器排序
    【NOI2004】郁闷的出纳员
    【USACO】奶牛跑步2
    【HNOI2004】宠物收养所
    【NOI2009】植物大战僵尸
    Xn数列
    骨牌覆盖
    【JSOI2008】球形空间产生器
  • 原文地址:https://www.cnblogs.com/skyssky/p/4632059.html
Copyright © 2020-2023  润新知