class mystack():
#模擬棧
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 len(self.items)>0:
return self.items.pop()
else:
print("棧已經為空")
return none
#壓棧def push(self,item):
#第一步:棧底元素移動到棧頂
#第二步:遞迴呼叫除棧頂元素之外的子棧
'''方法功能:棧底元素移動到棧頂
'''def movebottomtotop(s):
if s.isempty():
return
#記錄棧頂元素
top1 = s.top()
s.pop()
#生成子棧
if not s.isempty():
#遞迴處理不包含棧頂的子棧
movebottomtotop(s)
#記錄子棧的棧頂元素
top2 = s.top()
s.pop()
#交換棧頂元素與子棧棧頂元素
s.push(top1)
s.push(top2)
else:
s.push(top1)
def reverse_s(s):
if s.isempty():
return
#把棧底元素移動到棧頂
movebottomtotop(s)
top = s.top()
s.pop()
#遞迴處理子棧
reverse_s(s)
s.push(top)
if __name__ =="__main__":
s = mystack()
array = input().split()
for i in array:
s.push(i)
reverse_s(s)
print ("翻轉後出棧順序為:")
while not s.isempty():
print( s.top())
s.pop()
Java如何遍歷Map的所有的元素
jdk1.4中 map map new hashmap iterator it map.entryset iterator while it.hasnext jdk1.5中,應用新特性for each迴圈 map m new hashmap for object o map.keyset 返回的 s...
Java如何遍歷Map的所有的元素
jdk1.4中 map map new hashmap iterator it map.entryset iterator while it.hasnext jdk1.5中,應用新特性for each迴圈 map m new hashmap for object o map.keyset 返回的 s...
Java如何遍歷Map的所有的元素
jdk1.4中 map map new hashmap iterator it map.entryset iterator while it.hasnext jdk1.5中,應用新特性for each迴圈 map m new hashmap for object o map.keyset 返回的 s...