Python实现基本数据结构---栈操作

来源:互联网 发布:java string 单个字符 编辑:程序博客网 时间:2024/05/22 03:24
#! /usr/bin/env python#coding=utf-8#Python实现基本数据结构---栈操作class Stack(object):    def __init__(self,size):        self.size = size        self.stack = []        self.top = 0#初始化,top=0时则为空栈    def push(self,x):        if self.stackFull():#进栈之前检查栈是否已满            raise Exception("overflow !")        else:            self.stack.append(x)            self.top=self.top+1#push进去的第一个元素下标为1    def pop(self):        if self.stackEmpty():            raise Exception("underflow !")        else:            self.top=self.top-1            return self.stack.pop()#利用Python内建函数pop()实现弹出    def stackEmpty(self):        if self.top == 0:#判断栈空            return True        else:            return False    def stackFull(self):        if self.top == self.size:#判断栈满!!!            return True        else:            return Falseif __name__ == '__main__':    s=Stack(10)    for i in range(3):        s.push(i)    print s.stack    print s.pop()    print s.stack    print s.pop()    print s.pop()    print s.stack    print s.stackEmpty()    print s.stackFull()    for i in range(10):        s.push(i)    print s.stackFull()
0 0
原创粉丝点击