zoukankan      html  css  js  c++  java
  • 037 自定义实现栈的功能

    栈的定义:栈是一个数据集合,我们可以吧它理解为是一个只能在一端进行插入或者删除的列表。
    栈的特点:先进后出
    • Stack() 建立一个空的栈对象
    • push() 吧一个元素添加到栈的最顶层
    • pop() 删除栈最顶层的元素,并返回这个元素
    • gettop() 取栈顶元素
    • isEmpty() 判断栈是否为空
    • size() 返回栈中元素的个数
    • peek() 返回最顶层的元素,并不删除它
    class Stack:
        '''模拟栈'''
        def __init__(self):
            self.items = []
    
        def isEmpty(self):
            '''判断是否栈空'''
            return len(self.items) ==0  #返回是布尔值,不成立就返回False,成立就返回True
    
        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)
    
    # ==========对自定义栈的使用==================
    s = Stack()
    print(s.isEmpty())  #True
    s.push('one')
    s.push('two')
    print(s.peek())  # two
    s.push('three')
    print(s.size()) # 3
    print(s.isEmpty()) # False
    s.push(111111)
    print(s.pop())
    print(s.pop())
    print(s.size())




  • 相关阅读:
    LeetCode-389-找不同
    xml配置与使用
    curl使用
    php中JPGraph入门配置与应用
    php开发通用采集程序
    adodb配置与使用
    swfupload上传
    ZendFramework使用中常见问题
    memcache配置与使用
    第四章 供给与需求的市场力量
  • 原文地址:https://www.cnblogs.com/abdm-989/p/14162014.html
Copyright © 2011-2022 走看看