Python 棧是使用列表模擬實現的一種數據結構。它遵循先進后出的原則,就像書堆成一疊,從最后放入的最先取出來一樣。Python 棧可以通過 push, pop 和 peek 方法實現入棧、出棧和獲取棧頂元素等操作。
# 示例代碼 class Stack: def __init__(self): self.stack = [] def push(self, item): self.stack.append(item) def pop(self): if not self.is_empty(): return self.stack.pop() def peek(self): if not self.is_empty(): return self.stack[-1] def is_empty(self): return len(self.stack) == 0 # 使用棧來判斷括號是否匹配 def is_balanced(str): stack = Stack() for char in str: if char == "(": stack.push(char) elif char == ")": if stack.is_empty(): return False stack.pop() return stack.is_empty() # 測試代碼 str = "(()())()" if is_balanced(str): print("括號匹配") else: print("括號不匹配")
上面代碼中僅實現了棧的一部分功能,但它展示了棧的基本概念和使用方法。此外,我們還可以用棧來解決更多實際問題,如逆波蘭表達式計算、迷宮求解、漢諾塔等。棧是一種非常常用而又實用的數據結構,它可以幫助我們優雅地解決很多問題。
上一篇python 樹裝聚類
下一篇edi框架json