佇列問題1

2021-07-27 12:37:32 字數 535 閱讀 1581

有一疊牌,從上往下依次編號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...