数据结构-单向队列

Posted devlost

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-单向队列相关的知识,希望对你有一定的参考价值。

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

技术分享图片

 

以上是关于数据结构-单向队列的主要内容,如果未能解决你的问题,请参考以下文章

数据结构-单向队列

java算法-单向队列

Queue容器

数据结构--队列的实现(单向链表方式)

数据结构--队列的实现(单向链表方式)

# Java 常用代码片段