时间:2021-05-22
本文以实例形式展示了Python算法中栈(stack)的实现,对于学习数据结构域算法有一定的参考借鉴价值。具体内容如下:
1.栈stack通常的操作:
Stack() 建立一个空的栈对象
push() 把一个元素添加到栈的最顶层
pop() 删除栈最顶层的元素,并返回这个元素
peek() 返回最顶层的元素,并不删除它
isEmpty() 判断栈是否为空
size() 返回栈中元素的个数
2.简单案例以及操作结果:
Stack Operation Stack Contents Return Value s.isEmpty() [] True s.push(4) [4] s.push('dog') [4,'dog'] s.peek() [4,'dog'] 'dog' s.push(True) [4,'dog',True] s.size() [4,'dog',True] 3 s.isEmpty() [4,'dog',True] False s.push(8.4) [4,'dog',True,8.4] s.pop() [4,'dog',True] 8.4 s.pop() [4,'dog'] True s.size() [4,'dog'] 2这里使用python的list对象模拟栈的实现,具体代码如下:
#coding:utf8class Stack: """模拟栈""" def __init__(self): self.items = [] def isEmpty(self): return len(self.items)==0 def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek(self): if not self.isEmpty(): return self.items[len(self.items)-1] def size(self): return len(self.items) s=Stack()print(s.isEmpty())s.push(4)s.push('dog')print(s.peek())s.push(True)print(s.size())print(s.isEmpty())s.push(8.4)print(s.pop())print(s.pop())print(s.size())感兴趣的读者可以动手测试一下本文所述实例代码,相信会对大家学习Python能有一定的收获。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了JS中的算法与数据结构之栈(Stack)。分享给大家供大家参考,具体如下:栈(Stack)上一篇我们说到了列表,它是一种最自然的数据组织方式,如果
栈(stack)又名堆栈,它是一种运算受限的线性表。在Python中可使用列表进行实现。什么是栈?栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅
java集合之Stack概要:Stack是栈,特性是先进后出(FILO,FirstInLastOut)。Stack是继承于Vector(矢量队列),由于Vect
本文实例讲述了Python实现栈的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/envpython#定义一个列表来模拟栈stack=[]#
问题:python中使用列表实现栈的功能"""栈的工作原理入栈出栈查看栈顶元素栈的长度栈是否为空"""stack=[]info="""栈操作1.入栈2.出栈3.