码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构-单向队列

时间:2018-08-29 01:13:56      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:return   先进先出   删除   col   创建   []   插入   lin   队列   

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

技术分享图片

 

数据结构-单向队列

标签:return   先进先出   删除   col   创建   []   插入   lin   队列   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!