どうやってスタックを実現しますか
2220 ワード
"""
, : , , , , 。
"""
# :
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弾スタックの成功スタックはすでに空です.