数据结构-栈

栈是一种后进先出的数据结构 ,栈满时不能入栈,栈空时不能出栈。

python代码实现:

class Stack(object):
    def __init__(self, limit=10):
        self.stack = [] #存放元素
        self.limit = limit #栈容量极限
    def push(self, data): #入栈
        if len(self.stack) >= self.limit:
            print('StackOverflowError')
        self.stack.append(data)
    def pop(self):#出栈
        if self.stack:
            return self.stack.pop()
        else:
            raise IndexError('pop from an empty stack') #空栈不能被弹出
    def peek(self): #查看堆栈的最上面的元素
        if self.stack:
            return self.stack[-1]
    def is_empty(self): #判断栈是否为空
        return not bool(self.stack)
    def size(self): #返回栈的大小
        return len(self.stack)
if __name__ =="__main__":
    stack=Stack()
    print(stack.is_empty())#True
    print(stack.size())#0
    stack.push([1])
    stack.push([3])
    stack.push([2])
    print(stack.peek())#[2]
    print(stack.is_empty())#False
    print(stack.size())#3
    print(stack.pop())#[2]
    print(stack.peek())# [3]
True
0
[2]
False
3
[2]
[3]
posted @ 2020-01-01 17:01  腹肌猿  阅读(177)  评论(0编辑  收藏  举报