python之《棧stack和佇列queue》

2021-10-08 05:03:04 字數 1671 閱讀 9042

棧和佇列是兩種常用的,重要的資料結構。

棧和佇列是限定插入和刪除只能在表的「端點」進行的線性表。

【棧】

特點:後進先出

1,建立棧(借助列表)

stack = list()

print(stack)

2,判斷是否為空棧

stack = list()

print(stack)

if not stack:

print('為空棧')

else:

print('不是空棧')

為空棧

3,新增元素(進棧)

stack = list()

print(stack)

if not stack:

print('為空棧')

else:

print('不是空棧')

print('進棧之後:',stack)

為空棧進棧之後: [1, 2, 3]

4,刪除元素(出棧)

stack = list()

print(stack)

if not stack:

print('為空棧')

else:

print('不是空棧')

print('進棧之後:',stack)

stack.pop() #從右向左刪除

print("出棧之後:",stack)

為空棧進棧之後: [1, 2, 3]

出棧之後: [1, 2]

【佇列】

特點:先進先出。

1,入隊

queue =[1,2,3]

print("進隊之前:",queue)

print("進隊之後:",queue)

進隊之前: [1, 2, 3]

進隊之後: [1, 2, 3, 4]

2,出隊

queue =[1,2,3]

print("進隊之前:",queue)

print("進隊之後:",queue)

queue.pop(0)

print("出隊之後:",queue)

進隊之前: [1, 2, 3]

進隊之後: [1, 2, 3, 4]

出隊之後: [2, 3, 4]

【注意】

無論是出棧還是出隊,都要提前判斷一下,棧或者隊是不是空的(用 if not判斷),如果是空的,不能出棧或者出隊,會提示索引錯誤。

python資料結構之棧(stack)

目錄 棧的定義 棧的基本操作 小練習棧遵循後進先出 last in first out 現實生活中也有不少這樣的例子,比如在學校食堂吃完飯時,你把盤子放到桌子上,疊起來之後,阿姨過來拿盤子出去洗,假如是手洗,那肯定是先從最上面的盤子開始拿來洗的,而最上面的盤子是最後放上去的,卻是第乙個 被拿出來的,...

STL容器之stack棧

棧 statck 這種資料結構在計算機中是相當出名的。棧中的資料是先進後出的 first in last out,filo 棧只有乙個出口,允許新增元素 只能在棧頂上增加 移出元素 只能移出棧頂元素 取得棧頂元素等操作。在stl中,棧是以別的容器作為底部結構,再將介面改變,使之符合棧的特性就可以了。...

C STL容器之棧stack

c stack 堆疊 是乙個容器的改編,它實現了乙個先進後出的資料結構 filo 使用該容器時需要包含 include標頭檔案 定義stack物件的示例 如下 stacks1 stacks2 1.入棧 如s.push x 2.出棧 如 s.pop 注意 出棧操作只是刪除棧頂的元素,並不返回該元素。3...