首页 > 其他 > 详细

数据结构-单向队列

时间:2018-08-29 00:53:46      阅读:188      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!