Re: [問題] 請問STL的stack
看板C_and_CPP (C/C++)作者khoguan (Khoguan Phuann)時間19年前 (2005/08/27 01:31)推噓2(2推 0噓 2→)留言4則, 2人參與討論串1/2 (看更多)
※ 引述《kakashiliu (kakashi)》之銘言:
: #include<stack>
: stack<string>piles[52];
: 我使用STL裡面的stack
: 但是使用完後想把裡面內容清除要怎麼做呢!?
有 52 個那麼多的堆疊呀(仿八卦新聞播報員的口氣 XD)
還是只是要一個堆疊,然後放 52 個 string 元素呢?
#include <stack>
#include <string>
#include <algorithm>
using std::stack;
using std::string;
using std::swap;
stack<string> piles[52];
// 對這 52 個堆疊進行翻天覆地的操作
// 分別推進了許許多多數量不等的字串。
// 以下是泥牛入海法
for(int i=0; i<52; ++i) {
stack<string> emp;
swap(emp, piles[i]);
}
// 剩下 52 個空殼堆疊。
WAIT... 要這樣做,還不如在迴圈裡直接 piles[i] = stack<string>();
Mm... 要做一次清空 stack 的動作,還是直接利用 STL 的 deque 吧。
反正 stack 的 member function 是 deque 的子集,只是換了名稱
而已。deque 就有 clear() 可用了。一下子全部清空這種操作,本
來就不合 stack 的精神(或是比較保守的說,不合 STL 的 stack
的精神)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.208.168
※ 編輯: khoguan 來自: 220.130.208.168 (08/27 02:33)
推
59.120.214.120 08/27, , 1F
59.120.214.120 08/27, 1F
→
59.120.214.120 08/27, , 2F
59.120.214.120 08/27, 2F
推
61.58.184.76 08/27, , 3F
61.58.184.76 08/27, 3F
→
61.58.184.76 08/27, , 4F
61.58.184.76 08/27, 4F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章