pyhton题目-----stack by list

来源:互联网 发布:淘宝为什么成功 编辑:程序博客网 时间:2024/05/29 02:13

通过list实现stack功能:

class Stack:    def __init__(self, size = 10):        self.top = -1        self.size = size        self.stack = []    def push(self, value):        if self.isFull():            raise "Stack is full"        else:            self.stack.append(value)            self.top += 1    def pop(self):        if self.isEmpty():            raise "Stack is empty"        else:            data = self.stack[-1]            self.top= self.top-1            del self.stack[-1]            return data    def isFull(self):        if self.top == self.size -1:            return True        else:            return False    def isEmpty(self):        if self.top == -1:            return True        else:            return False    def set_size(self,size):        self.size = size    def empty(self):        self.stack = []        self.top = -1    def Top(self):        return self.topif __name__ == '__main__':    st = Stack()    for i in range(1,15):        try:            st.push(i)        except:            print "out of size"        else:            print "push " + str(i) + " OK"            print("top value is %s" % st.stack[st.Top()])    print("start pop")    while not st.isEmpty():        print("top value is %d" % st.stack[st.Top()])        st.pop()



0 0