本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。
問題描述
Python中數據類型有列表,元組,字典,隊列,棧,樹等等。像列表,元組這樣的都是python內置數據結構;棧,隊列這些都是需要我們自己去定義的。
棧是一種只允許在一端插入和取出的數據結構,這一端通常被叫做棧頂,另一端叫棧底,沒有數據的叫空棧。這種數據類型由於是我們自己進行定義,所以有很多功能都需要自己寫出相應函數來實現。所以我們看看這裏的功能。
解決方案
棧的基本操作大概有:生成棧,入棧,出棧,返回棧頂元素,判斷是否爲空棧,返回棧內元素個數。
首先我們先要創建一個棧:
class stack(object): def __init__(self): self.__list = [] |
def is_empty(self): return self.__list == [] # return not self.__list |
def push(self,item): self.__list.append(item) |
def pop(self): self.__list.pop() |
def peek(self): if self.__list: return self.__list[-1] else: return None |
def size(self): return len(self.__list) |
結語
作者:李和龍
實習編輯:衡輝
稿件來源:深度學習與文旅應用實驗室(DLETA)
本文分享自微信公衆號 - 算法與編程之美(algo_coding)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。