資料結構之佇列 棧和鍊錶(一)

2021-09-26 22:48:50 字數 874 閱讀 9764

最近在學資料結構和演算法方面的一些東西,畢竟演算法才是程式設計的靈魂,在外面實習了一年,一直也是覺得自己的技術還十分有限,大概我就是那種沒怎麼打基礎就開始擼專案的野生程式設計師吧,因為基礎差所以經常在各種小問題上被難倒,回頭來看看其實這都是大家踩過的坑,歸根到底還是自己急於求成,所以就開始學一些基礎,也為了以後回到學校繼續學業做一些鋪墊。此文章中**參考了一本淺顯入門的演算法書《啊哈,演算法》

通俗來講,佇列就像我們排隊,很多時候我們都會遇到排隊的場景 (比如買票,食堂打飯,安檢,買奶茶啥的),在這種場景下,隊伍最前端的我們可以稱之為隊首,隊伍最後端的可以稱之為隊尾,當隊首辦理完業務 (買到了票,食堂阿姨給打了整整一勺肉啥的) 就會從隊伍中離開,這個過程我們稱為出隊,當然佇列外部的資料想要進入佇列,就必須從排在隊尾之後 (理想狀態下厚顏無恥的插隊狗這種生物是不存在的) 成為新的隊尾,這個過程我們可以成為入隊。因此我們稱這種模式為先進先出(first in first out)

佇列的組成有三個元素,即隊首、隊尾以及資料陣列

下面是乙個佇列的結構體示例

struct quene;
以下是示例**,完成了陣列的初始化,入隊,出隊的基礎操作

#include#includestruct quene;

int main()

while(q.head < q.tail)

system("pause");

return 0;

}

資料結構 棧 佇列 鍊錶

棧 1,棧只能從表的一端訪問資料,另一端是封閉的。2,在棧中,無論是存資料還是取資料,都必須遵循 先進後出 的原則,即最先進棧的元素最後出棧。基於 棧結構的特點,在實際應用中,通常只會對棧執行以下兩種操作 向棧中新增元素,此過程被稱為 進棧 入棧或壓棧 從棧中提取出指定元素,此過程被稱為 出棧 或彈...

資料結構 棧 佇列 鍊錶

棧 1,棧只能從表的一端訪問資料,另一端是封閉的。2,在棧中,無論是存資料還是取資料,都必須遵循 先進後出 的原則,即最先進棧的元素最後出棧。基於 棧結構的特點,在實際應用中,通常只會對棧執行以下兩種操作 向棧中新增元素,此過程被稱為 進棧 入棧或壓棧 從棧中提取出指定元素,此過程被稱為 出棧 或彈...

資料結構專題一 棧 佇列 鍊錶

清空 clear 獲取棧內元素的個數 size 判斷空 empty 進棧 push 出棧 pop 取棧頂元素 top 清空 clear 獲取佇列中的元素個數 size 判空 empty 入隊 push 將元素放到隊尾 出隊 pop 這裡是令隊首元素出隊 獲取隊首 front 獲取隊尾 back 順序...