美文网首页
用 python 的 list 实现栈

用 python 的 list 实现栈

作者: sixkery | 来源:发表于2018-10-17 22:30 被阅读5次

    介绍一下:
    栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。

    • 它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
    • 栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
    • 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);
    • 栈底固定,而栈顶浮动;
    • 栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。

    代码实现

    用 python 的顺序表 list 实现:

    #coding=utf-8
    __date__ = ' 21:50'
    __author__ = 'sixkery'
    
    class Stact(object):
        '''栈'''
    
        # 构造一个栈的容器
        def __init__(self):
            self.__list = []
        def push(self,item):
            '''添加一个新的元素到栈顶'''
            self.__list.append(item)
    
    
        def pop(self):
            '''弹出栈顶元素'''
            return self.__list.pop()
    
    
        def peek(self):
            '''返回栈顶元素'''
            if self.__list:
                return self.__list[-1]
            return None
    
    
        def is_empty(self):
            '''判断栈是否为空'''
            return self.__list == []
    
        def size(self):
            '''返回栈的的元素个数'''
            return len(self.__list)
    
    
    if __name__ == '__main__':
        s = Stact()
        s.push(1)
        s.push(2)
        s.push(3)
        s.push(4)
        print(s.pop())
        print(s.pop())
        print(s.pop())
        print(s.pop())
    
    
    
    
    

    相关文章

      网友评论

          本文标题:用 python 的 list 实现栈

          本文链接:https://www.haomeiwen.com/subject/owedzftx.html