どうやってスタックを実現しますか


"""
          ,        :  ,  ,     ,       ,           。
"""


#    :    
class MyStack1:
    #    
    def __init__(self):
        self.items = []

    #        
    def isEmpty(self):
        return len(self.items) == 0

    #       
    def size(self):
        return len(self.items)

    #        
    def top(self):
        if not self.isEmpty():
            return self.items[len(self.items) - 1]
        else:
            return None

    #   
    def pop(self):
        if not self.isEmpty():
            return self.items.pop()
        else:
            print('     ')
            return None

    #   
    def push(self, item):
        self.items.append(item)


#    :    
class LNode:
    def __int__(self):
        self.data = None
        self.next = None


class MyStack2:
    def __init__(self):
        self.data = None
        self.next = None

    #   stack    ,      true,    else
    def empty(self):
        if self.next is None:
            return True
        else:
            return False

    #          
    def size(self):
        size = 0
        p = self.next
        while p is not None:
            p = p.next
            size += 1
        return size

    #   : e    
    def push(self, e):
        p = LNode()
        p.data = e
        p.next = self.next
        self.next = p

    #   :        
    def pop(self):
        tmp = self.next
        if tmp is not None:
            self.next = tmp.next
            return tmp.data
        print('    ')
        return None

    #       
    def top(self):
        if self.next is not None:
            return self.next.data
        print('    ')
        return None


if __name__ == '__main__':
    s = MyStack1()
    s.push(4)
    print('     :' + str(s.top()))
    print('    :' + str(s.size()))
    s.pop()
    print('    ')
    s.pop()

    stack = MyStack2()
    stack.push(1)
    print('     :' + str(stack.top()))
    print('    :' + str(stack.size()))
    stack.pop()
    print('    ')
    stack.pop()
運営結果は以下の通りです.スタックの一番上の要素は:4スタックの大きさは:1弾スタックの成功スタックはすでに空スタックの一番上の要素です.1スタックの大きさ:1弾スタックの成功スタックはすでに空です.