python 棧和佇列

2021-09-27 23:43:35 字數 825 閱讀 2423

使用list實現棧,使用deque實現佇列(使用list實現佇列效率低)。

1.使用list實現棧--先進後出

class stack:

'''使用列表實現棧

'''def __init__(self, lis):

self.lis = lis

def pop(self, args=-1):

return self.lis.pop(args) # 返回彈出的值

def __str__(self):

return str(self.lis)

stack = stack([1,2,3])

print(stack)

print(stack.pop(2))

print(stack)

2.使用deque(雙端列表)實現佇列--先進先出

from collections import deque

class queue:

'''實現佇列

'''def __init__(self, lis):

self.lis = lis

def popleft(self):

return self.lis.popleft() # 返回彈出的值

def __str__(self):

return str(self.lis)

queue = queue(deque([1,2,3]))

print(queue)

print(queue.popleft())

print(queue)

python棧和佇列

類的定義 設計類 類名 屬性 行為 定義乙個女朋友 屬性 身高170,年齡20,性別 女 膚色 白 行為 中的定義 格式 class 類名 父類列表 屬性1屬性2 行為1 方法 行為2乙個類是以class關鍵字開始的 類名需要遵循識別符號命名規則,見名知意 首字母大寫 屬性需要遵循識別符號命名規則,...

python 棧和佇列

棧結構 類似於桶 先進後出 fifo first in last out 棧結構的常用方法 pop 出棧 push 入棧 size 棧大小 isempty 判斷棧是否為空 top 獲取棧頂元素 class stack object def init self self.stack def push ...

python小知識 佇列和棧

佇列可以做兩端增刪資料元素 佇列中的資料元素遵循 先進先出 的原則,也稱為fifo結構 first in first out 從空佇列中彈出資料和向滿佇列中壓入資料,均視為錯誤 class squeue 建立空佇列 def init self self.elem 判空 defis empty sel...