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 本身就是一種先進先出的...