棧中pop和top的區別是什麼呢?用佇列實現一個棧,Python語言
阿新 • • 發佈:2018-11-04
區別:
pop是彈出棧頂元素,top是獲得棧頂元素,不彈出
pop彈出後可以獲取,把彈出的東西付給某個變數
具體可以通過用佇列實現一個棧來分析原因。
#用佇列實現棧 class Stack: """ @param: x: An integer @return: nothing """ def __init__(self): self.queue = [] def push(self, x): # write your code here self.queue.append(x) """ @return: nothing """ def pop(self): # write your code here for x in range(len(self.queue) - 1): self.queue.append(self.queue.pop(0)) self.queue.pop(0) #彈出棧頂元素 """ @return: An integer """ def top(self): # write your code here top = None for x in range(len(self.queue)): top = self.queue.pop(0) self.queue.append(top) #只返回棧頂元素,不彈出 return top """ @return: True if the stack is empty """ def isEmpty(self): # write your code here return self.queue == [] mysolution = Stack() aus = mysolution.push(1) print(aus) aus1 = mysolution.pop() print(aus1) aus2 = mysolution.push(2) print(aus2) aus3 = mysolution.isEmpty() print(aus3) aus4 = mysolution.top() print(aus4) aus5 = mysolution.pop() print(aus5) 棧這種資料結構計算機無法直接表達給人看,想要看需要藉助IDE編輯器 輸出: None None None False 2 None [Finished in 0.0s] ``` ###程式碼分析 Python中棧中pop和top的區別是什麼呢? pop是彈出棧頂元素,top是獲得棧頂元素,不彈出
認識你是我們的緣分,同學,等等,記得關注我。
微信掃一掃
關注該公眾號