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'

浙公网安备 33010602011771号