我正在使用C++,我想推堆棧中的字符串,例如推送int
。在堆棧中按下字符串?
對於實施例
3."stackoverflow"
2."is"
1."Best"
0."site"
堆的每一個索引,在欲推的字符串。我怎樣才能做到這一點?
我正在使用C++,我想推堆棧中的字符串,例如推送int
。在堆棧中按下字符串?
對於實施例
3."stackoverflow"
2."is"
1."Best"
0."site"
堆的每一個索引,在欲推的字符串。我怎樣才能做到這一點?
使用STL,例如:
#include <stack>
std::stack<std::string> s;
s.push("A");
s.push("B");
s.push("C");
s.push("D");
檢查STL reference以獲取更多信息。
完全符合噸範登休維爾同意,但是你說
「堆棧的各項指標,在我想 推一根繩子」
你是什麼意思「每一個索引」 ?您應該知道,一旦字符串在堆棧中,您只能訪問頂部的字符串,並且不會通過堆棧中的索引進行訪問。如果這就是你需要的,那就用std :: vector來代替。
如果cplusplus.com是正確的(http://www.cplusplus.com/reference/stl/stack/),'std :: stack'的默認基礎類型是'std :: deque',而不是'std :: VECTOR'。無論如何+1,但你應該改正這一點。 – 2010-10-08 10:49:03
@Matteo:對不起,混淆了,vector是priority_queue的默認值...編輯 – 2010-10-08 10:52:53
我做到了。我之前看到如何將字符串轉換爲字符數組,並將其混合到我現在正在研究的內容即。棧。
stack <int> Name;
name="mohit";
for(char c:name)
Name.push(c);
for(char c:name){
cout<<Name.top();
Name.pop();}
和輸出是tihom 它的功能很簡單。它將字符串轉換爲字符數組,然後逐個字符地推送字符串。爲了彈出我們使用相同的循環,它使用LIFO原理彈出。
您是否嘗試過某些東西?如果是這樣,你可以發佈嗎? – 2010-10-08 10:13:14
「堆棧的每個索引」都沒有意義。堆棧沒有索引;您只能訪問最上面的元素。但是,像'vector'這樣的索引容器具有堆棧式的推/彈語義。 – meagar 2010-10-08 13:56:35
這裏有一些誤解。 我想推棧中的字符串。 就像推整數一樣。 push(「Hello」); 推(「世界」); – 2010-10-10 15:34:17