zoukankan      html  css  js  c++  java
  • Python 如何用列表实现栈和队列?

    1.栈结构,其实就是一个后进先出的一个线性表,只能在栈顶压入或弹出元素。用列表表示栈,则向栈中压入元素,可以用列表的append()方法来实现,弹出栈顶元素可以用列表的pop()方法实现。

     1 >>> x=[]            #创建一个空列表,此处表示栈
     2 >>> x
     3 []
     4 >>> x.append('a')   #压入元素'a'
     5 >>> x
     6 ['a']
     7 >>> x.append('b')   #压入元素'b'
     8 >>> x
     9 ['a', 'b']
    10 >>> x.pop()         #弹出栈顶元素'b'
    11 'b'
    12 >>> x
    13 ['a']
    14 >>> x.pop()         #弹出栈顶元素'a'
    15 'a'
    16 >>> x
    17 []
    18 >>> x.pop()         #试图对一个空栈做弹出操作,会报异常
    19 Traceback (most recent call last):
    20   File "<stdin>", line 1, in <module>
    21 IndexError: pop from empty list

    2.队列,其实就是一个先进先出的线性表,只能在队首执行删除操作,在队尾执行插入操作。用列表表示队列,可以用append()方法实现在队尾插入元素,用pop(0)方法实现在队首删除元素。

    >>> x=[]
    >>> x.append('a')
    >>> x
    ['a']
    >>> x.append('b')
    >>> x
    ['a', 'b']
    >>> x.pop(0)
    'a'
    >>> x.pop(0)
    'b'
    >>> x.pop(0)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: pop from empty list
  • 相关阅读:
    斐波纳契数列
    实现刮刮乐的效果
    简易版美图秀秀
    js 宏任务和微任务
    作业3 阅读
    作业2 结对子作业
    做汉堡
    练习一
    Java设计模式十八:代理模式(Proxy)
    Java设计模式二十:适配器模式(Adapter)
  • 原文地址:https://www.cnblogs.com/lmh001/p/9850880.html
Copyright © 2011-2022 走看看