美文网首页
队列 Python实现

队列 Python实现

作者: Yuanshuo | 来源:发表于2019-07-31 21:45 被阅读0次
The core values of Chinese socialism

Queue

  • FirstInFirstOut(FIFO)
  • 削峰
# 队列的顺序表实现

class Queue(object):

    def __init__(self):
        self.item = []

    def isEmpty(self):
        return self.item == []

    def enqueue(self, item):
        self.item.insert(0, item)

    def dequeue(self):
        return self.item.pop()

    def size(self):
        return len(self.item)

if __name__ == '__main__':
    queue = Queue()
    queue.enqueue("Hello")
    queue.enqueue("World")
    queue.enqueue("!")
    print(queue.size())
    print(queue.dequeue())
    print(queue.dequeue())
    print(queue.dequeue())
3
Hello
World
!
# 栈的链接表实现

class SingleNode(object):
    def __init__(self, item):
        self.item = item
        self.next = None

class Stack(object):
    def __init__(self):
        self._head = None

    def isEmpty(self):
        return self._head == None

    def push(self, item):
        node = SingleNode(item)
        node.next = self._head
        self._head = node

    def pop(self):
        cur = self._head
        self._head = cur.next
        return cur.item

    def top(self):
        return self._head.item

    def size(self):
        cur = self._head
        count = 0
        while cur != None:
            count += 1
            cur = cur.next
        return count

if __name__ == '__main__':
    stack = Stack()
    stack.push("Hello")
    stack.push("World")
    stack.push("!")
    print(stack.size())
    print(stack.top())
    print(stack.pop())
    print(stack.pop())
    print(stack.pop())
3
!
!
World
Hello

相关文章

网友评论

      本文标题:队列 Python实现

      本文链接:https://www.haomeiwen.com/subject/grmxdctx.html