題目1512 用兩個棧實現佇列

2021-07-02 21:45:10 字數 860 閱讀 5565

時間限制:1 秒

記憶體限制:128 兆

題目描述:

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。

佇列中的元素為int型別。

輸入:每個輸入檔案包含乙個測試樣例。

對於每個測試樣例,第一行輸入乙個n(1<=n<=100000),代表佇列操作的個數。

接下來的n行,每行輸入乙個佇列操作:

1. push x 向佇列中push乙個整數x(x>=0)

2. pop 從佇列中pop乙個數。

輸出:對應每個測試案例,列印所有pop操作中從佇列pop中的數字。如果執行pop操作時,隊列為空,則列印-1。

樣例輸入:

3

push 10

poppop

樣例輸出:

10

-1

題目分析:使用兩個棧模擬佇列, 佇列是fifo,棧是filo, 此題方法巧妙,時間複雜度為o(n), **已ac。

#include #include #include #include #include using namespace std;

stackst1;

stackst2;

char str[6];

int main(void)

else

} if (st1.empty())

printf("-1\n");

else

}} return 0;

}

題目1512 用兩個棧實現佇列

題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。輸入 每個輸入檔案包含乙個測試樣例。對於每個測試樣例,第一行輸入乙個n 1 n 100000 代表佇列操作的個數。接下來的n行,每行輸入乙個佇列操作 1.push x 向佇列中push乙個整數x x 0 2....

九度 1512 用兩個棧實現佇列

時間限制 1 秒 記憶體限制 128 兆 特殊判題 否 提交 1327 解決 492 題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。輸入 每個輸入檔案包含乙個測試樣例。對於每個測試樣例,第一行輸入乙個n 1 n 100000 代表佇列操作的個數。接下來的...

題目 用兩個棧實現佇列

用兩個棧實現佇列 解析 佇列的特性是 先進先出 棧的特性是 後進先出 在下面的程式中,模擬實現佇列的兩個函式分別實現佇列尾部插入結點和在佇列頭部刪除結點的功能。具體實現方法和過程,看下面的gif圖 完整 及測試用例 include include using namespace std templa...