zoukankan      html  css  js  c++  java
  • 数据结构-单向队列

    队列(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())

  • 相关阅读:
    利用序列化进行深度克隆
    原型链
    本地储存cookie,localStorage,sessionStorage
    ES6创建类
    hexo基本命令
    mouseent和mouseover的区别
    Event
    offset,client,scroll
    字符串的常用方法
    数组去重
  • 原文地址:https://www.cnblogs.com/devlost/p/9551789.html
Copyright © 2011-2022 走看看