Python数据结构之栈的实现
一图胜千言,看图!
代码code:
#coding:utf-8
#常见数据结构之栈的实现
class Stack(): #创建Stack类
def __init__(st,size):
st.stack=[] #栈为列表
st.size=size #size就是容量
st.top=-1#-1看图片解释的很清楚
def push(st,content):#放入数据进栈的时候
if st.Full():#如果栈满了是真的事件
print "Stack is Full"#输出这个
else:
st.stack.append(content)#向栈中添加数据
st.top=st.top+1#每次添加数据长度都会+1
def out(st):#从栈中拿出数据
if st.Empty():#如果是栈为空
print "Stack is Empty"
else:
st.top=st.top-1#因为把数据从栈中拿出来,所以每次长度都会-1
def Full(st):#创建栈满的时候
if st.top==st.size:#如果长度=容器的长度
return True#返回真
else:
return False#返回假
def Empty(st):#创建栈为空
if st.top==-1:#因为栈的初始位置是-1,如果是-1的话
print "Stack is Empty!"#输出
else:
return False#输出假
代码运行结果如下:
完毕!
Python数据结构之栈的实现的更多相关文章
- python数据结构之栈与队列
python数据结构之栈与队列 用list实现堆栈stack 堆栈:后进先出 如何进?用append 如何出?用pop() >>> >>> stack = [3, ...
- python数据结构之栈、队列的实现
这个在官网中list支持,有实现. 补充一下栈,队列的特性: 1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIF ...
- python数据结构之栈
栈 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素.访问元素.删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语: ...
- Python数据结构:栈 队列
栈,队列的特性: 1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征 2.队列(queue)是一种具有 ...
- python——python数据结构之栈、队列的实现
这个在官网中list支持,有实现. 补充一下栈,队列的特性: 1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIF ...
- Python数据结构之“栈”与“队列”
栈(Stacks): ·定义:是一种只能通过访问其一端来实现的数据存储于检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征 ·主要操作: 1. Stack():建立 ...
- python数据结构实现(栈和链栈)
栈 class Stack: def __init__(self, limit: int 10): self.stack = [] self.limit = limit def __bool__(se ...
- python数据结构之栈的构建
class Stack(object): def __init__(self): self.stack=[] def pop(self): return self.stack.pop() def pu ...
- 基础数据结构 之 栈(python实现)
栈是编程开发中的两种较为简单的数据结构.栈和队可用于模拟函数的递归.栈的特点是后进先出.其常用操作包括:出栈,入栈等.在出栈前,需判断栈是否为空.在入栈时,需判断栈是否已满. 下面给出一个用pytho ...
随机推荐
- [转帖]国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测
国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测 https://www.cnbeta.com/articles/tech/830875.htm 全国产的 SSD 群联貌似是对岸的 不过不管怎么说 ...
- php foreach跳出本次/当前循环与终止循环方法
continue:跳出本次循环 break:终止循环 exit:用来结束程序执行 return: 用来结束一段代码 $arr= array('le','yang','jun','lecode' ...
- CentOS7配置gradle,或配置maven
借鉴博客: https://www.cnblogs.com/imyalost/p/8746527.html 特简单,不多说了,自己看 1.下载gradle4.6版本:wget https://down ...
- 原 线程池中shutdown()和shutdownNow()方法的区别
参考:shutdown和shutdownNow的区别 shutDown() 当线程池调用该方法时,线程池的状态则立刻变成SHUTDOWN状态.此时,则不能再往线程池中添加任何任务,否则将会抛出Reje ...
- AI算法第一天【概述与数学初步】
1. 机器学习的定义: 机器从数据中学习出规律和模式,以应用在新数据上作出预测的任务 2.学习现象: (1)语言文字的认知识别 (2)图像,场景,物体的认知和识别 (3)规则:下雨天要带雨伞 (4)复 ...
- python数据结构与算法第三天【时间复杂度计算方法】
最优时间复杂度(不可靠) 最坏时间复杂度(保证) 平均时间复杂度(平均状况) 不同语句的时间复杂度: (1)顺序语句:使用加法 (2)循环语句:使用乘法 (3)分支语句:使用坏时间复杂度 例如:如下代 ...
- 《Tensorflow从入门到精通》
第一 开发环境搭建 1. tensorflow的环境搭建 windows下安装cpu版tensorflow: pip install tensorflow 在ubuntu上安装gpu版tensorfl ...
- ADO.NET工具类(三)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- git指令详解总结
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- OfficeToHtmlHelper
public class Office2HtmlHelper { /// <summary> /// Word转成Html /// </summary> /// <par ...