Queue在c 中的常見用法

2021-08-18 08:57:45 字數 1425 閱讀 1829

queue在c++中還是比較經常用到的,所以我們了解一些它的常見用法,對於我們快速編寫程式很有幫助!!!

廢話不多說,直接上乾貨!

佇列:先進先出(first in first out)

標頭檔案必備:#include

接下來是各種常見的函式:

定義乙個queue的變數     queuem

檢視是否為空            m.empty()    是的話返回1,不是返回0;

輸出現有元素的個數      m.size()

顯示第乙個元素          m.front()

顯示最後乙個元素        m.back()

從已有元素後面增加元素  m.push()

清除第乙個元素          m.pop()

用法示例:

問題描述

有 n個小朋友圍成一圈玩遊戲,小朋友從1至

n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,……,1號小朋友坐在

n號小朋友的順時針方向。

遊戲開始,從1號小朋友開始順時針報數,接下來每個小朋友的報數是上乙個小朋友報的數加1。若乙個小朋友報的數為

k的倍數或其末位數(即數的個位)為

k,則該小朋友被淘汰出局,不再參加以後的報數。當遊戲中只剩下乙個小朋友時,該小朋友獲勝。

例如,當n=5, k=2時:

1號小朋友報數1;

2號小朋友報數2淘汰;

3號小朋友報數3;

4號小朋友報數4淘汰;

5號小朋友報數5;

1號小朋友報數6淘汰;

3號小朋友報數7;

5號小朋友報數8淘汰;

3號小朋友獲勝。 給定

n和 k,請問最後獲勝的小朋友編號為多少?

輸入格式

輸入一行,包括兩個整數

n和 k,意義如題目所述。

輸出格式

輸出一行,包含乙個整數,表示獲勝的小朋友編號。

樣例輸入

5 2樣例輸出

3樣例輸入

7 3樣例輸出

4資料規模和約定

對於所有評測用例,1 ≤

n ≤ 1000,1 ≤

k ≤ 9。

#include #include using namespace std;

int main()

num++;

} cout<

return 0;

}

總之,巧用佇列!有關來回迴圈檢索的問題,我們其實可以用佇列實現。

queue的常見用法

queue是一種先入先出的容器 include include using namespace std queueq stl只能通過front 訪問隊首元素,或者使用back 訪問隊尾元素 queueq for int i 0 i 5 i cout 獲取容器隊首和隊尾元素 queueq for in...

c 中queue的用法

queue佇列就是先進先出。它並沒有實現 ilist,icollection。所以它不能按索引訪問元素,不能使用add和remove。下面是 queue的一些方法和屬性 enqueue 在佇列的末端新增元素 dequeue 在佇列的頭部讀取和刪除乙個元素,注意,這裡讀取元素的同時也刪除了這個元素。如...

queue的常見用法詳解

queue翻譯為佇列,是乙個先進先出的容器,要使用queue,應先新增標頭檔案 include,並在標頭檔案下面加上 using namespace std 定義的寫法和其他stl容器相同,typename可以是任意基本資料型別或容器 queuename 由於佇列 queue 本身就是一種先進先出的...