Stack是資料結溝的一環節;是個''後進先出''的資料型態。
形同於在只有單一出口且裝滿球的桶子內,拿球時,最後裝入的球即是第一個被取出的。
如圖:
這[東西]是在list清單中“pop”的環節。是把list清單中最後一個取出。
push則是將另一個 “物件"放入。
程式碼截圖如下:
執行結果如下:
程式碼如下:
class Stack():
def __init__(self):
self.my_stack = []
def my_push(self, data):
self.my_stack.append(data)
def my_pop(self):
return self.my_stack.pop()
def size(self):
return len(self.my_stack)
def isEmpty(self):
return self.my_stack == []
stack = Stack()
fruits = ['Grape', 'Mango', 'Apple']
for fruit in fruits:
stack.my_push(fruit)
print('將 %s 水果堆入堆疊' % fruit)
print('堆疊有 %d 種水果' % stack.size())
while not stack.isEmpty():
print(stack.my_pop())
這裡class堆疊裡有 5 種函式:
__init__ 一定要雙底線,這是他們的規則。
每一個class一定要有initial函式。
push式放入數字的程式碼:使用list的append函式來實現push在list的最後。
pop則是將list的最末端其取出。
len是length的縮寫。
size會回應list長度。
isEmpty是檢查list是否為空的。
就把水果的物品放入堆疊,在pop出來。展示了''後進先出''。