棧和佇列基本應用

2021-10-06 08:42:07 字數 1230 閱讀 3307

一 、棧

棧:是限定僅在表尾進行插入或刪除操作的線性表,表尾段稱為棧頂,表頭段稱為棧底,棧有稱後進先出線性表。棧有順序棧和鏈棧。

個人總結:棧的操作可以在陣列的基礎上,也可以運用stack。

陣列的操作就不多說了,現在總結一下stack。

stack基本應用。

標頭檔案 #include

stack stack;

stack.empty() 堆疊為空則返回真

stack.pop() 移除棧頂元素

stack.push() 在棧頂增加元素

stack.size() 返回棧中元素數目

stack.top() 返回棧頂元素

二、佇列

queue是一種先入先出的容器。(這裡要知道區別於棧)。

標頭檔案 #include

queue q;

queue的基本應用。

push(t) 將t元素插進隊尾。

pop()隊首元素出隊。

front()訪問隊首元素。

back()訪問隊尾元素。

empty()判斷是否為佇列是否為空,如果空返回true,否則返回false

size()返回容器元素數量。

clear()清空佇列。

三、雙向佇列

deque的基本操作

push_back

在當前的最後乙個元素之後 ,在 deque 容器的末尾新增乙個新元素

push_front

在 deque 容器的開始位置插入乙個新的元素,位於當前的第乙個元素之前

pop_back

刪除 deque 容器中的最後乙個元素,有效地將容器大小減少乙個

pop_front

刪除 deque 容器中的第乙個元素,有效地減小其大小

emplace_front

在 deque 的開頭插入乙個新的元素,就在其當前的第乙個元素之前

emplace_back

在 deque 的末尾插入乙個新的元素,緊跟在當前的最後乙個元素之後

deque.front()

返回第乙個資料。

deque.back()

返回最後乙個資料

其實還有很多關於deque的操作,暫時還沒學到,先不寫了。。

紙牌遊戲 小貓釣魚(佇列和棧的基本應用)

首先給小哼和小哈發牌,然後按照先小哼後小哈的出牌順序出牌。出牌時,若某人打出的牌面與桌子上的某張牌面相同,則這個人將兩張相同和之間的牌全部取走,並依次放在自己手中牌的末尾。當任意一人手中的牌全部取完時,遊戲結束,對手獲勝。include stdio.h struct queue struct sta...

C RabbitMQ訊息佇列基本應用

安裝otp與mq步驟 1.安裝otp,新增環境變數erlang home並新增到path中 2.安裝mq,新增環境變數rabbitmq server並新增到path中 rabbitmq server sbin 3.使用管理員許可權到rabbitmqsbin目錄中 執行rabbitmq plugins...

鏈式儲存棧及基本應用

實驗二 棧 佇列 實驗學時 學時 背景知識 入棧 出棧,入隊 出隊。目的要求 1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。實驗內容 1 採用鏈式儲存實現棧的初始化 入棧 出棧操作。2 採用順序儲存實現棧的初始化 入棧 出棧操作。3 採用鏈式儲存實現佇列的初始化 入隊 ...