Python的栈
来源:互联网 发布:linux get命令 ftp 编辑:程序博客网 时间:2024/06/08 13:36
Python的栈
堆栈-先进后出,后进先出
# -*- coding:utf-8 -*-'''定义一个堆栈'''import sysclass Stack(object): def __init__(self,size): #初始化栈的大小、栈顶 self.stack = [] #定义一个空的列表作为栈 self.size = size #初始化栈的大小 self.top = len(self.stack) #初始化栈顶的值为栈的长度:对于一个空栈而言,栈顶的值等于栈的长度值 #判断栈满 def full(self): if self.size == self.top: print "Stack is full.Forbidden to push any item into it." return True else: return False #判断栈空 def empty(self): if self.top == 0: print "Stack if empty." return True #入栈操作 def push(self,content): if self.full(): print "Stack if full." else: self.top += 1 self.stack.append(content) #出栈操作 def out(self): if self.empty(): raise ValueError("Stack is empty.") else: self.stack.pop() #删除栈顶元素 self.top -= 1 def display(self): print "SizeOfStack = ",len(self.stack) print "Stack = ",self.stack print "Top Value = ",self.top,"\n"#测试s = Stack(20)s.push("Hello")s.display()s.push("Python")s.display()for i in "Python": print "Stack Full? ",s.full() s.push(i) s.display()s.display()s.out()s.display()s.out()s.display()for i in range(12): print "Stack Empty? ",s.empty() s.out() s.display()s.display()
运行结果:SizeOfStack = 1Stack = ['Hello']Top Value = 1 SizeOfStack = 2Stack = ['Hello', 'Python']Top Value = 2 Stack Full? FalseSizeOfStack = 3Stack = ['Hello', 'Python', 'P']Top Value = 3 Stack Full? FalseSizeOfStack = 4Stack = ['Hello', 'Python', 'P', 'y']Top Value = 4 Stack Full? FalseSizeOfStack = 5Stack = ['Hello', 'Python', 'P', 'y', 't']Top Value = 5 Stack Full? FalseSizeOfStack = 6Stack = ['Hello', 'Python', 'P', 'y', 't', 'h']Top Value = 6 Stack Full? FalseSizeOfStack = 7Stack = ['Hello', 'Python', 'P', 'y', 't', 'h', 'o']Top Value = 7 Stack Full? FalseSizeOfStack = 8Stack = ['Hello', 'Python', 'P', 'y', 't', 'h', 'o', 'n']Top Value = 8 SizeOfStack = 8Stack = ['Hello', 'Python', 'P', 'y', 't', 'h', 'o', 'n']Top Value = 8 SizeOfStack = 7Stack = ['Hello', 'Python', 'P', 'y', 't', 'h', 'o']Top Value = 7 SizeOfStack = 6Stack = ['Hello', 'Python', 'P', 'y', 't', 'h']Top Value = 6 Stack Empty? NoneSizeOfStack = 5Stack = ['Hello', 'Python', 'P', 'y', 't']Top Value = 5 Stack Empty? NoneSizeOfStack = 4Stack = ['Hello', 'Python', 'P', 'y']Top Value = 4 Stack Empty? NoneSizeOfStack = 3Stack = ['Hello', 'Python', 'P']Top Value = 3 Stack Empty? NoneSizeOfStack = 2Stack = ['Hello', 'Python']Top Value = 2 Stack Empty? NoneSizeOfStack = 1Stack = ['Hello']Top Value = 1 Stack Empty? NoneSizeOfStack = 0Stack = []Top Value = 0 Stack Empty? Stack if empty.TrueStack if empty.Stack is empty.SizeOfStack = 0Stack = []Top Value = 0 Stack Empty? Stack if empty.TrueStack if empty.Stack is empty.SizeOfStack = 0Stack = []Top Value = 0 Stack Empty? Stack if empty.TrueStack if empty.Stack is empty.SizeOfStack = 0Stack = []Top Value = 0 Stack Empty? Stack if empty.TrueStack if empty.Stack is empty.SizeOfStack = 0Stack = []Top Value = 0 Stack Empty? Stack if empty.TrueStack if empty.Stack is empty.SizeOfStack = 0Stack = []Top Value = 0 Stack Empty? Stack if empty.TrueStack if empty.Stack is empty.SizeOfStack = 0Stack = []Top Value = 0 SizeOfStack = 0Stack = []Top Value = 0
0 0
- Python的栈
- python栈的实现
- Python栈的C++实现
- Python中栈的实现
- Python栈数据结构的实现
- 【python】python实现栈
- 【Python】Python 百分号 % 的意思
- python以及python的由来
- 【python】python的方法覆盖
- 【python】python的socket编程
- 【python】python的unittest使用
- [Python]Python oop的私有制
- [Python]这次的Python作业
- 【Python】Python的类型转换
- 【python】查看python的版本号
- 【Python】Ceph的python接口
- Python-1 python的开始
- Python-5 Python的循环
- class_create(),class_device_create()创建/dev/xxx 名字
- 常见的项目文件
- getElementsByName 为什么不起作用(长度为0)
- C++ #include—尖括号和双引号的区别
- python可视化编辑器Sublime Text 2
- Python的栈
- sicily 1154. Easy sort
- 高手复盘手记:如何判断一个题材或者利好到底有多大
- Lua语法学习笔记
- 非对称加解密——RSA加密、解密以及数字签名
- Hbase 启动失败htrace
- 16年1月2日记录:新站收录的问题探讨与博客群的维护问题探讨
- css中position定位
- JS入门总结