補充: 隊列的封裝: ...
1 __author__ = "yang xin" 2 from sys import stdin 3 # 給出一串數字,首先將第一個數刪除,緊接著把第二個數放在這串數字的最後 4 # 再將第三個數刪除,然後將下一個數放在這串數字的最後,直到把最後一個數 5 # 刪除,然後將刪除的數字連接起來輸出 6 7 test=[] 8 9 ################################### 10 # 先寫一個處理輸入數據 11 while True: 12 line=stdin.readline().strip() 13 if line=="": 14 break 15 item=line.split(' ') 16 item=[int(i) for i in item] 17 test=item 18 ################################### 19 head=0; 20 tail=test.__len__() 21 while head<tail: 22 print(test[head]) 23 head+=1 24 if head<=tail-1:#防止列表下邊溢出報錯 25 test.append(test[head]) 26 # test[tail]=test[head] 27 tail+=1 28 head+=1
補充:
隊列的封裝:
__author__ = "yang xin" class Queue: def __init__(self,maxnumber): self.maxnumber=maxnumber self.head=0 self.tail=0 self.queue=[] def top(self,value): if self.isFull(): return False self.queue.append(value)#或者self.queue.insert(tail,value) self.tail+=1 def pop(self): if self.isEmpty(): return False data=self.queue[self.head] self.head+=1 return data def isEmpty(self): if self.head==self.tail: return True return False def isFull(self): if self.tail==self.maxnumber: return True return False