Python書き込みデータ構造:スタック(シーケンスストレージ構造)

1073 ワード

#!/usr/bin/python3.5
#_*_coding:utf-8_*_

class Stack():
    def __init__(self,capacity):
        self.stack = [None] * capacity
        self.capacity = capacity
        self.top = -1

    def push(self,element):
        if self.full():
            print('  ')
            return
        self.top += 1
        self.stack[self.top] = element

    def pop(self):
        if self.empty():
            print('    ')
            return
        element = self.stack[self.top]
        self.stack[self.top] = None
        self.top -= 1
        return element

    def empty(self):
        return self.top == -1

    def full(self):
        return self.top == self.capacity - 1

    def length(self):
        return self.top + 1

    def getTop(self):
        if self.top == -1:
            print('    ')
            return
        return self.stack[self.top]

    def clear(self):
        while self.top != -1:
            self.stack[self.top] = None
            self.top -= 1
if __name__ == '__main__':
    stack = Stack(10)