python学习记录-- 数据结构----栈
来源:互联网 发布:佳能打印机软件下载 编辑:程序博客网 时间:2024/06/04 18:07
数据结构----栈
栈的特点是后进先出。其常用操作包括:出栈,入栈等。在出栈前,需判断栈是否为空。在入栈时,需判断栈是否已满。
代码记录:
#coding=utf8
class stack():
def __init__(self,size):
self.stack = [] #定义栈体为一个空列表
self.size = size
self.top = 0 #栈顶为0,第一个元素放进去后,栈顶为1
def isEmpty(self):
if self.top == 0: #当栈顶为0时,代表栈为空
return True
else:
return False
def isFull(self):
if self.top == self.size: #当栈顶与栈体相同时,代表栈满
return True
else:
return False
def push(self,obj): #入栈
if self.isFull(): #当栈满时,弹出栈满提示
print "sorry,stack is full!"
else:
self.stack.append(obj) #当栈未满时,栈体添加内容,栈顶指针上移一个
self.top += 1
def out(self): #出栈
if self.isEmpty(): #当栈为空时,弹出为空提示
print "sorry,stack is empty!"
else:
self.top -= 1 #当栈有内容时,栈顶下移一个
self.stack.pop() #删除最后入栈内容
def show(self):
print self.stack
if __name__ == '__main__':
q = stack(3)
q.push('a')
q.show() #结果为['a']
print q.top #结果为1
q.push('b')
q.show() #结果为['a', 'b']
print q.top
q.push('c')
q.show() #结果为['a', 'b', 'c']
print q.top
q.push('d')
q.show() #结果为sorry,stack is full!
print q.top
q.push('e')
q.show() #结果为sorry,stack is full!
print q.top
q.out()
print q.top
q.push('f')
q.show() #结果为['a', 'b', 'f']
print q.top
q.out()
q.push('g')
q.show() #结果为['a', 'b', 'g']
- python学习记录-- 数据结构----栈
- python学习记录-- 数据结构----队列
- python学习记录-- 数据结构----列表篇
- 数据结构学习记录-顺序栈
- 数据结构学习记录-链式栈
- 大话数据结构学习记录
- 数据结构学习记录-1
- 数据结构学习记录1
- 数据结构学习记录2
- 记录一下python的数据结构
- Python学习--数据结构
- python学习数据结构
- 学习python(二) 数据结构
- python学习笔记-数据结构
- 数据结构学习记录连载1
- 数据结构学习记录-迷宫设计
- 数据结构学习记录之一查找
- 数据结构与算法学习记录
- web前端开发需要用到的软件及相应配置集锦
- SpringMVC笔记-->context:component-scan
- Mysql外键约束
- nginx 依赖包
- Python基础——异常
- python学习记录-- 数据结构----栈
- jenkins和linux环境配置遇到的几个注意点 && linux命令行下载历史android sdk
- Android LayoutInflater inflate方法效率
- 优化 Linux 内核参数
- 安装nodejs相关
- android_68_vitamio_videoView
- upstream 模块
- 蓝桥杯练习系统基础练习——01字符串
- 【深入剖析Tomcat笔记】第二篇 ServerSocket模型