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'
复制代码

 

posted @ 2018-12-26 23:51  不是伟人  阅读(746)  评论(0编辑  收藏  举报