有一疊牌,從上往下依次編號1~n,當至少還有兩張牌時:把第一張牌扔掉,然後把新的第一張疊到最後。輸入n,輸出每次扔掉的牌以及最後剩下的牌。
樣例輸入:7
樣例輸出:1 3 5 7 4 2 6
使用陣列實現時,要注意陣列足夠大,防止越界。
#include
#include
const
int maxn=500;
int main()
printf("\n");
return
0;}
stl實現:
#include
#include
#include
//事實證明本題手工模擬佇列的執行速度遠快於stl佇列
using
namespace
std;
queue
q;int main()
printf("\n");
return
0;}
佇列應用1 求解報數問題
1 問題描述 n個人從左向右編號1 n,然後從左向右報數 1,2,1,2,1,2.數到1的人出隊,數到2的人立即站到佇列的最右端 繼續報數,直到所有人出列 2 資料組織 使用順序佇列 3 設計演算法 1.全部入隊 2.出隊乙個,輸出編號 3.若佇列不為空,再出隊乙個元素,並將剛出列的元素進隊到隊尾 ...
三(1) 佇列(鏈佇列)
佇列,與棧相同,實現乙個佇列同樣需要順序表活者鍊錶作為基礎。佇列是一種先進先出的線性表。資料只能從隊尾進入佇列,從對頭出佇列,這裡重點說一下鏈佇列。首先說 鏈佇列的實現。定義佇列 typedef struct qnode qnode queueptr typedef structlinkqueue ...
16 訊息佇列1
1.管道 佇列 與ipc的訊息佇列有什麼區別呢?訊息佇列是鏈式的,訊息的型別可以不一致。訊息佇列中維護佇列的結構體msqid ds,其中的第乙個訊息指標msg first,最後乙個指標msg last.每個訊息中包含資料data,資料的長度length,資料的型別type。2.訊息佇列建立函式msg...