python数据结构-栈
来源:互联网 发布:网络基础设施建设问题 编辑:程序博客网 时间:2024/06/06 04:34
想象一摞被堆起来的书,这就是栈。这堆书的特点是,最后被堆进去的书,永远在最上面。
从这堆书里面取一本书出来,取哪本书最方便?肯定是最上面那本。
栈这种数据结构的特点就是如此:后进先出(Last In First Out - LIFO),即最后被堆进去的数据,最先被拿出来。
想象一摞被堆起来的书,这就是栈。这堆书的特点是,最后被堆进去的书,永远在最上面。
从这堆书里面取一本书出来,取哪本书最方便?肯定是最上面那本。
栈这种数据结构的特点就是如此:后进先出(Last In First Out - LIFO),即最后被堆进去的数据,最先被拿出来。
#!/usr/bin/env python# -*- coding: utf-8 -*-# Created by xuehz on 2017/8/8class Stack(): def __init__(self, size): self.stack = [] self.size = size self.top = -1 def push(self, content): if self.Full(): print 'Stack is Full' else: self.stack.append(content) self.top = self.top+1 def out(self): if self.Empty(): print 'Stack is Empty' else: self.stack.pop() self.top = self.top-1 def Full(self): if self.top == self.size: return True else: return False def Empty(self): if self.top == -1: return True else: return Falseclass Stack1: """模拟栈""" """ Stack() 建立一个空的栈对象 push() 把一个元素添加到栈的最顶层 pop() 删除栈最顶层的元素,并返回这个元素 peek() 返回最顶层的元素,并不删除它 isEmpty() 判断栈是否为空 size() 返回栈中元素的个数 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 """ 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)if __name__ == '__main__': s = Stack1() 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())
阅读全文
0 0
- Python数据结构—-栈
- Python数据结构--栈
- python数据结构之栈
- python数据结构-栈
- Python常见数据结构-栈
- python数据结构之栈
- 数据结构---队栈操作(Python)
- python数据结构---栈和队列
- python学习记录-- 数据结构----栈
- Python数据结构——栈
- Python栈数据结构的实现
- python数据结构
- python数据结构
- python 数据结构
- python 数据结构
- Python 数据结构
- Python数据结构
- python 数据结构
- 【每周论文】Graphene: Packing and Dependency-aware Scheduling for Data-Parallel Clusters(OSDI 2016)
- Linux功耗管理(4)_Power Management Interface
- Java笔记:数组
- @Scheduled Spring定时任务每次执行两次解决方案
- [mob]Android手机短信验证(自定义的)
- python数据结构-栈
- ubuntu16.04安装pycharm
- LocalAlloc,VirtualAlloc,malloc,new的异同
- python基础--数据类型之间的转换
- Hadoop2.6.0安装教程
- Java模板引擎之 FreeMarker
- Spring MVC小案例
- Linux触摸屏驱动-jz2440
- HDU 2846Repository(字典树+计数)