数据结构-单向队列

队列(queue)

 队列是只允许在一端进行插入操作,在另外一段进行删除操作的线性表

 队列不允许在中间部位进行操作

 先进先出(First In First Out)

 

 enqueue端 添加元素

 dequeue端 删除元素

以下是 :    单向队列用 顺序表  实现(链表也可以)

      

  • Queue() 创建一个空的队列
  • enqueue(item) 往队列中添加一个item元素
  • dequeue() 从队列头部删除一个元素
  • is_empty() 判断一个队列是否为空
  • size() 返回队列的大小
class Queue(object):
    '''队列'''
    def __init__(self):
        self.items = []

    def is_empty(self):
        return not self.items

    def enqueue(self,item):
       '''进队列'''
       self.items.insert(0,item)
    # 用insert 一直往头部添加 先进去的 就会挤到后面
    # pop()默认弹出最后一个元素
    #O(n)

    def dequeue(self):
        '''出队列'''
        return self.items.pop()

    def size(self):
        '''队列大小'''
        return len(self.items)

if __name__ == "__main__":
    q = Queue()
    q.enqueue("Python")
    q.enqueue("chan")
    q.enqueue("Linkin")
    print(q.size())
    print(q.dequeue())
    print(q.dequeue())
    print(q.dequeue())

原文地址:https://www.cnblogs.com/devlost/p/9551789.html