# encoding=utf-8

class Stack(object):
"""栈"""
def __init__(self):
"""使用顺序表,即列表实现数据的存放"""
self.__item = [] def push(self, item):
"""ti添加一个新的元素到栈顶"""
"""对于列表使用append 和pop时间复杂度是O(1)"""
self.__item.append(item) def pop(self):
"""弹出栈顶元素"""
return self.__item.pop() def peek(self):
"""返回栈顶元素"""
return self.__item[-1] def is_empty(self):
""""判断栈是否为空"""
return False if self.__item else True def size(self):
"""返回栈的元素个数"""
return len(self.__item)

python-实现栈结构的更多相关文章

  1. python构造栈结构

    栈:是一种先进后出的数据结构:本片文章,我们用python的面向对象来构造这样的数据结构. 栈中的每一个数据除了存储当前的数值外,还存储着当前数值下一个数据的类型(注意不是下一个数据的数值). cla ...

  2. python实现栈结构

    # -*- coding:utf-8 -*- # __author__ :kusy # __content__:文件说明 # __date__:2018/9/30 17:28 class MyStac ...

  3. python 全栈开发,Day98(路飞学城背景,django ContentType组件,表结构讲解)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  4. Python全栈之路目录结构

    基础 1.Python全栈之路-----基础篇 2.Python全栈之路---运算符与基本的数据结构 3.Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数 4.Python全栈 ...

  5. Python全栈【异常处理】

    Python全栈[异常处理] 本节内容: 1.异常处理 2.什么时候用异常处理 异常处理 1.异常处理: 异常就是程序运行时发生错误的信号,异常处理是在编程过程中为了增加友好性,在程序出现bug时一般 ...

  6. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  7. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  8. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  9. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  10. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)

    python全栈开发笔记第二模块 第四章 :常用模块(第二部分)     一.os 模块的 详解 1.os.getcwd()    :得到当前工作目录,即当前python解释器所在目录路径 impor ...

随机推荐

  1. Joseph Problem With Passwords In Java

    问题描述: 编号为1,2,......,n的n个人(每个人的信息有编号.姓名和密码三项)按照顺时针方向围坐一圈, 每个人有且只有一个密码(正整数,密码用随机方式赋值,范围1-15).一开始任选一个正整 ...

  2. Python request模块 携带cookie

    # _*_coding:utf-8 _*_ import time import requests import json import sys import random import string ...

  3. 【IDEA】测试类(test)的模板及定义

    人和动物的区别是:能制造和使用工具.因为,工具大大便利了我们的生活. 我们在使用Idea开发java项目的过程中,有些代码是固定的,我们能不能只写几个字,就代表一连串的代码.例如,这里,我们只是输入了 ...

  4. ubuntu 20.04 基于kubeadm部署kubernetes 1.22.4集群—报错解决

    一.添加node节点,报错1 注:可以提前在各node节点上修改好(无报错无需执行此项) yang@node2:~$ sudo kubeadm join 192.168.1.101:6443 --to ...

  5. 大数据分析——matplotlib

    参考链接:https://blog.csdn.net/xavier_muse/article/details/83859272 fig,ax = plt.subplots()等价于: fig = pl ...

  6. Java断言语句

    ​ 断言语句在调试代码阶段非常有用,断言语句一般用于 程序不准备通过捕获异常来处理的错误,例如,当发生某个错误时,要求程序必须立即停止执行.在调试代码阶段让断言语句发挥作用,这样就可以发现一些致命的错 ...

  7. php success error 封装跳转

    /** * Warning提示信息 * @param string $type 提示类型 默认支持success, error, info * @param string $msg 提示信息 * @p ...

  8. C#函数编程学习

    知识补缺 //用Func委托写简单函数 Func<int,int> add = i => i + 1; //定义一个只读属性 public class Tea { public Te ...

  9. svn批量的添加ignore

    svn没有批量添加ignore file的功能,只能一个个目录去设置,故写了脚本自动化的执行 使用了svn propset,故改了ignore file,可以反复的执行此脚本 #!/usr/bin/p ...

  10. redis中获取区间数据及获取总条数

    import redis REDIS_ITEMS_HOST: str = host REDIS_ITEMS_PASSWORD: str = pwd REDIS_ITEMS_DB: int = 4 #查 ...