用兩個棧實現佇列
解析:佇列的特性是「先進先出」,棧的特性是「後進先出」,在下面的程式中,模擬實現佇列的兩個函式分別實現佇列尾部插入結點和在佇列頭部刪除結點的功能。
具體實現方法和過程,看下面的gif圖:
完整**及測試用例:
#include#include using namespace std;
template class cqueue
;template cqueue::cqueue(void)
template cqueue::~cqueue(void)
//隊尾插入元素
//隊頭刪除元素
templatet cqueue::deletehead()
} if (stack2.size() == 0)
cout << "queue is empty!";
t head = stack2.top();
stack2.pop();
return head;
}void test(char actual, char expected)
int main()
執行結果:
test passed.
test passed.
test passed.
test passed.
test passed.
請按任意鍵繼續. . .
用兩個棧實現佇列 用兩個佇列實現棧
劍指offer 面試題7 用兩個棧實現佇列。templateclass cqueue 我們試著用兩個棧來模擬佇列的操作,發現如下可行操作 完整 實現 面試題7 用兩個棧實現佇列 分別完成在隊尾插入結點和在隊頭刪除結點的功能。date 2014 06 27 include include includ...
題目1512 用兩個棧實現佇列
題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。輸入 每個輸入檔案包含乙個測試樣例。對於每個測試樣例,第一行輸入乙個n 1 n 100000 代表佇列操作的個數。接下來的n行,每行輸入乙個佇列操作 1.push x 向佇列中push乙個整數x x 0 2....
題目1512 用兩個棧實現佇列
時間限制 1 秒 記憶體限制 128 兆 題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。輸入 每個輸入檔案包含乙個測試樣例。對於每個測試樣例,第一行輸入乙個n 1 n 100000 代表佇列操作的個數。接下來的n行,每行輸入乙個佇列操作 1.push x...