编写代码,实现一个栈(Stack)的类。
生活随笔
收集整理的这篇文章主要介绍了
编写代码,实现一个栈(Stack)的类。
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
编写代码,实现一个栈(Stack)的类。
栈是只能在一端插入和删除数据的序列。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
class Stack(object):def __init__(self):self.items = []#定义栈def is_empty(self):return self.items == []#判断栈空def peek(self):try:return self.items[-1]except IndexError:print("Error: peek from empty stack")#返回最后一个值,极为返回栈顶#同时考虑到空栈不能返回栈顶def size(self):return len(self.items)#返回列表长度极为栈长度def push(self,item):self.items.append(item)#模拟压入值操作,就是将值加到列表最后def pop(self):try:return self.items.pop()except IndexError:print("Error: pop from empty stack")#同时考虑了空栈时不能弹出#pop在弹出最后一个值时同时返回这个值def read(self):strs = ['%s'% i for i in reversed(self.items)]return "".join(strs)#利用python本身的性质来模拟栈的操作#测试if __name__ == '__main__':# 初始化一个栈对象my_stack = Stack()my_stack.push('h')my_stack.push('a')# 看一下栈的大小(有几个元素print(my_stack.read())# 读栈,看是否从栈顶遍历print(my_stack.size())# 打印栈顶元素print(my_stack.peek())print(my_stack.pop())print(my_stack.peek())print(my_stack.size())print(my_stack.pop())print(my_stack.size())print(my_stack.is_empty())print(my_stack.peek()#尝试空栈操作总结
以上是生活随笔为你收集整理的编写代码,实现一个栈(Stack)的类。的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: c语言程序设计1.9例题
- 下一篇: 编写函数,可以接收任意多个整数并输出其中