class SStack: def __init__(self, data=None): # if data is None: self.data = [] # else: # self.data = list(data) def isEmpty(self): return self.data == [] def __len__(self): return len(self.data) def __str__(self): return str(self.data) def __iter__(self): return iter(self.data) def top(self): if self.data == []: raise ValueError("stack is empty") return self.data[-1] def push(self, other): self.data.append(other) def pop(self): if self.data == []: raise ValueError("stack is empty") return self.data.pop() class Node: def __init__(self, data, next=None): self.data = data self.next = next def __str__(self): return str(self.data) class LStack: def __init__(self): self._top = None def is_empty(self): return self._top is None def top(self): if self._top is None: raise ValueError("stack is empty") return self._top def push(self, data): self._top = Node(data, self._top) def pop(self): if self._top is None: raise ValueError("stack is empty") p = self._top self._top = p.next return p.data sl = LStack() sl.push(3) sl.push(4) sl.push(5) print(sl.pop()) print(sl.pop()) # s1 = SStack() # s2 = SStack() # for i in range(2, 9): # s1.push(i) # s2.push(i) # print(len(s1))
python: 栈
猜你喜欢
转载自blog.csdn.net/lalalala_CG/article/details/84189188
今日推荐
周排行