堆、棧和隊列

堆:
堆是在程序運行時,而不是在程序編譯時,申請某個大小的內存空間。即動態分配內存,對其訪問和對一般內存的訪問沒有區別。堆是指程序運行時申請的動態內存,而棧只是指一種使用堆的方法(即先進後出)。
棧(stack):
先進後出,刪除與加入均在棧頂操作
堆棧的特性: 最先放入堆棧中的內容最後被拿出來,最後放入堆棧中的內容最先被拿出來, 被稱爲先進後出、後進先出。
堆棧中兩個最重要的操作是PUSH和POP,兩個是相反的操作。
PUSH:在堆棧的頂部加入一 個元素。
POP:在堆棧頂部移去一個元素, 並將堆棧的大小減一。
在這裏插入圖片描述
隊列(queue):
隊列也是一種特殊的線性表。不同於棧所服從的先進後出的原則,隊列的原則是先進先出。
隊列在隊頭做刪除操作,在隊尾做插入操作。
隊列中沒有元素時,稱爲空隊列。
在這裏插入圖片描述
在這裏插入圖片描述

發佈了32 篇原創文章 · 獲贊 5 · 訪問量 2523
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章