zoukankan      html  css  js  c++  java
  • 第十节 队列的概念和python代码实现

      队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。
      队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。

     1 class Queue(object):
     2     '''队列'''
     3     def __init__(self):
     4         self.__list = []
     5 
     6     def enqueue(self, item):
     7         '''往队列中添加一个元素'''
     8         self.__list.append(item)
     9 
    10     def dequeue(self):
    11         '''从队列头部删除一个元素'''
    12         return self.__list.pop(0)
    13 
    14     def is_empty(self):
    15         '''判断是否一个队列为空'''
    16         return not self.__list
    17 
    18     def size(self):
    19         '''返回队列的大小'''
    20         return len(self.__list)
    21 
    22 if __name__ == "__main__":
    23     que = Queue()
    24     que.enqueue(1)
    25     que.enqueue(2)
    26     print(que.dequeue())
  • 相关阅读:
    bzoj1477: 青蛙的约会
    数论/the second wave
    bzoj2818: Gcd
    bzoj2705: [SDOI2012]Longge的问题
    数论/the first wave
    bzoj3942: [Usaco2015 Feb]Censoring
    BZOJ 1059: [ZJOI2007]矩阵游戏( 匈牙利 )
    BZOJ 1013: [JSOI2008]球形空间产生器sphere( 高斯消元 )
    BZOJ 1823: [JSOI2010]满汉全席( 2-sat )
    BZOJ 4260: Codechef REBXOR( trie )
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12556071.html
Copyright © 2011-2022 走看看