zoukankan      html  css  js  c++  java
  • python列表模拟堆栈和队列

    对列特点:先进先出、后进后出

    用列表insert、pop模拟进队出队:

    复制代码
     1 >>> l = []
     2 >>> l.insert(0,'p1')   # 索引0插入到列表最前面
     3 >>> l.insert(0,'p2')  
     4 >>> l.insert(0,'p3')
     5 >>> l
     6 ['p3', 'p2', 'p1']
     7 >>> l.pop()  # pop默认弹出最后一个元素
     8 'p1'
     9 >>> l.pop()
    10 'p2'
    11 >>> l.pop()
    12 'p3'
    复制代码

    用列表append、pop模拟进队出队:

    复制代码
     1 >>> l = []
     2 >>> l.append('p1')  # 加到列表最后
     3 >>> l.append('p2')
     4 >>> l.append('p3')
     5 >>> l
     6 ['p1', 'p2', 'p3']
     7 >>> l.pop(0)  # 弹出索引0
     8 'p1'
     9 >>> l.pop(0)
    10 'p2'
    11 >>> l.pop(0)
    12 'p3'
    复制代码

    堆栈特点:先进后出、后进先出

    用列表insert、pop方法模拟进栈出栈:

    复制代码
     1 >>> l = []
     2 >>> l.insert(0,'a1')
     3 >>> l.insert(0,'a2')
     4 >>> l.insert(0,'a3')
     5 >>> l
     6 ['a3', 'a2', 'a1']
     7 >>> l.pop(0)
     8 'a3'
     9 >>> l.pop(0)
    10 'a2'
    11 >>> l.pop(0)
    12 'a1'
    复制代码

    用列表append、pop方法模式进栈出栈:

    复制代码
     1 >>> l = []
     2 >>> l.append('a1')
     3 >>> l.append('a2')
     4 >>> l.append('a3')
     5 >>> l
     6 ['a1', 'a2', 'a3']
     7 >>> l.pop()
     8 'a3'
     9 >>> l.pop()
    10 'a2'
    11 >>> l.pop()
    12 'a1'
    复制代码
  • 相关阅读:
    HDU
    2015 NCPC Problem G-Goblin Garden Guards
    二分答案
    多校 HDU-6312 Game (博弈)
    唯一分解定理
    欧拉函数
    发布系统遇到的问题解决
    ASP.Net数据导出Excel的几种方法
    项目管理计划书模版
    sql server2008附加数据库5120错误
  • 原文地址:https://www.cnblogs.com/wanghaiqi24/p/10182680.html
Copyright © 2011-2022 走看看