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

 >>> x=[]            #创建一个空列表,此处表示栈 
 >>> x 
 [] 
 >>> x.append('a')   #压入元素'a' 
 >>> x 
 ['a'] 
 >>> x.append('b')   #压入元素'b' 
 >>> x 
 ['a', 'b'] 
 >>> x.pop()         #弹出栈顶元素'b' 
 'b' 
 >>> x 
 ['a'] 
 >>> x.pop()         #弹出栈顶元素'a' 
 'a' 
 >>> x 
 [] 
 >>> x.pop()         #试图对一个空栈做弹出操作,会报异常 
 Traceback (most recent call last): 
   File "<stdin>", line 1, in <module> 
 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

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Python数据结构与算法详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。