本文实例讲述了Python基于列表模拟堆栈和队列功能。分享给大家供大家参考,具体如下:
之前的文章http://www.zzvips.com/article/67339.html介绍了堆栈与队列的Python实现方法,这里使用列表来模拟一下堆栈与队列的简单操作。
一、队列特点:先进先出、后进后出
用列表insert、pop模拟进队出队:
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> l = []
>>> l.insert( 0 , 'p1' )
>>> l.insert( 0 , 'p2' )
>>> l.insert( 0 , 'p3' )
>>> l
[ 'p3' , 'p2' , 'p1' ]
>>> l.pop()
'p1'
>>> l.pop()
'p2'
>>> l.pop()
'p3'
|
用列表append、pop模拟进队出队:
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> l = []
>>> l.append( 'p1' )
>>> l.append( 'p2' )
>>> l.append( 'p3' )
>>> l
[ 'p1' , 'p2' , 'p3' ]
>>> l.pop( 0 )
'p1'
>>> l.pop( 0 )
'p2'
>>> l.pop( 0 )
'p3'
|
二、堆栈特点:先进后出、后进先出
用列表insert、pop方法模拟进栈出栈:
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> l = []
>>> l.insert( 0 , 'a1' )
>>> l.insert( 0 , 'a2' )
>>> l.insert( 0 , 'a3' )
>>> l
[ 'a3' , 'a2' , 'a1' ]
>>> l.pop( 0 )
'a3'
>>> l.pop( 0 )
'a2'
>>> l.pop( 0 )
'a1'
|
用列表append、pop方法模式进栈出栈:
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> l = []
>>> l.append( 'a1' )
>>> l.append( 'a2' )
>>> l.append( 'a3' )
>>> l
[ 'a1' , 'a2' , 'a3' ]
>>> l.pop()
'a3'
>>> l.pop()
'a2'
>>> l.pop()
'a1'
|
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://www.cnblogs.com/chengtai/p/6086897.html