美文网首页
Python数据结构-栈、队列

Python数据结构-栈、队列

作者: 大白杏仁 | 来源:发表于2017-11-12 23:30 被阅读0次

由于 Python 基础数据类型封装得比较强大,实现栈和队列显得很容易

  1. Python 实现栈

class Stack(object):

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

    def is_empty(self):
        return self.items == []

    def push(self, item):
        self.items.append(item)

    def pop(self):
        self.items.pop()

    def peek(self):
        """返回栈顶元素"""
        return self.items[len(self.items)-1]

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


if __name__ == '__main__':
    stack = Stack()
    print('栈是否为空:', stack.is_empty())
    stack.push(4)
    stack.push(8)
    stack.push(1)
    print(stack.peek())
    stack.pop()
    print('栈是否为空:', stack.is_empty())
    print(stack.size())

  1. Python 实现队列

class Queue(object):

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

    def is_empty(self):
        return self.items == []

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

    def dequeue(self):
        self.items.pop()

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


if __name__ == '__main__':
    queue = Queue()
    print('队列是否为空:', queue.is_empty())
    queue.enqueue(10)
    queue.enqueue(8)
    queue.enqueue(4)
    queue.dequeue()
    print(queue.size())
  1. Python 实现双端队列

class Deque(object):

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

    def is_empty(self):
        return self.items == []

    def add_front(self, item):
        self.items.insert(0, item)

    def add_rear(self, item):
        self.items.append(item)

    def remove_front(self):
        self.items.pop(0)

    def remove_rear(self):
        self.items.pop()

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

if __name__ == '__main__':
    deque = Deque()
    print('双端队列是否为空:', deque.is_empty())
    deque.add_front(4)
    deque.add_rear(1)
    deque.add_front(6)
    deque.add_rear(8)
    print(deque.size())
    deque.remove_rear()
    print(deque.size())

相关文章

  • 6-Python 数据结构初识

    课程概要:1、Python 数据结构概述2、Python 常见数据结构——栈3、Python 常见数据结构——队列...

  • Python实现队列,栈

    通过python设计实现队列以及栈,复习一下数据结构 队列:先进先出 class Stack(object):de...

  • Python实现栈和队列以及使用list模拟栈和队列

    Python实现栈和队列 Python使用list模拟栈和队列

  • Algorithm小白入门 -- 队列和栈

    队列和栈队列实现栈、栈实现队列单调栈单调队列运用栈去重 1. 队列实现栈、栈实现队列 队列是一种先进先出的数据结构...

  • 栈和队列—什么是栈

    栈和队列是两种重要的数据结构 从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 栈和队列—什么是队列

    栈和队列是两种重要的数据结构 从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 泡杯茶,我们坐下聊聊javascript事件环

    栈和队列 在计算机内存中存取数据,基本的数据结构分为栈和队列。 栈(Stack)是一种后进先出的数据结构,注意,有...

  • python3.6 queue模块

    python中的queue模块其实是对数据结构中栈和队列这种数据结构的封装,把抽象的数据结构封装成类的属性和方法。...

  • 队列和栈的应用

    队列和栈的使用 标签(空格分隔): algorithm 队列和栈的应用 1.队列的应用 队列是一种常见的数据结构,...

  • 数据结构 栈和队列

    数据结构 栈和队列 栈 顺序栈 top = -1 链栈 初始化 判断队空 入队: 头插法 出队: 单链表删除 队列...

网友评论

      本文标题:Python数据结构-栈、队列

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