Python實現最普通的棧和佇列的方法

2021-08-19 14:09:17 字數 793 閱讀 8055

棧的實現:

# -*- coding: utf-8 -*-

a =

# 入棧

for i in range(3):

# 檢查元素順序

for i in range(3):

print(a[i])

# result: 0 1 2

# 出棧,直到棧為空

while a:

print(a.pop())

# result: 2 1 0

佇列的實現:

# -*- coding: utf-8 -*-

a =

# 入佇列,與入棧類似

for i in range(3):

# 出佇列,直到隊列為空

while a:

print(a.pop(0))

# result: 0 1 2

佇列還可使用queue模組實現

# -*- coding: utf-8 -*-

from queue import queue

q = queue()

# 入佇列

for i in range(3):

q.put(i)

# queue不支援迭代器遍歷和下標遍歷

# 出佇列,直到隊列為空

while not q.empty():

print(q.get())

# result: 0 1 2

棧和隊的實現8 鏈隊

include pch.h include using namespace std typedef int qelemtype 資料型別 typedef struct qnode qnode,queueptr 結點型別 typedef struct linkqueue 結點指標型別 1.初始化 bo...

python中的佇列和棧 python的佇列和棧

一 佇列和棧的區別 1 佇列 佇列是一種特殊的線性表。其兩頭都有限制,插入只能在表的一端進行 只進不出 而刪除只能在表的另一端進行 只出不進 允許刪除的一端稱為隊尾 rear 允許插入的一端稱為隊頭 front 先進先出 first in first out fifo 2 棧 後進先出 last i...

資料結構和演算法 Python實現 03 棧和佇列

棧 stack 是乙個項的有序集合。新增項和移除項都發生在同一 端 這一端通常被稱為頂,另一端的頂部被稱為底。棧的底是有標誌性的,因為儲存在棧中更靠近底的項就是棧中儲存時間最長的項。最新新增的項在移除項時也會第乙個被移除。這種排序原則有時也稱為lifo法,也就是後進先出。棧很重要,因為它們可以用於反...