棧和佇列是兩種常用的,重要的資料結構。
棧和佇列是限定插入和刪除只能在表的「端點」進行的線性表。
【棧】
特點:後進先出
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...