在堆栈中推送字符串?

时间:2010-10-08 10:11:34

标签: c++ stl stack

我正在使用C ++,我希望在堆栈中像字符串int一样推送字符串。

例如

3."stackoverflow"
2."is"
1."Best"
0."site"

在堆栈的每个索引处我想要推送一个字符串。我怎么能这样做?

3 个答案:

答案 0 :(得分:12)

使用STL,例如:

#include <stack>

std::stack<std::string> s;
s.push("A");
s.push("B");
s.push("C");
s.push("D");

查看STL reference以获取更多信息。

答案 1 :(得分:7)

完全赞同Ton van den Heuvel,但是你说

  

“在我想要的每个堆栈索引处   推一个字符串“

你在每个指数上的意思是什么?您应该知道,一旦字符串在堆栈中,您只能访问顶部字符串,并且堆栈中没有索引访问权限。如果这就是您所需要的,请改用std :: vector。

答案 2 :(得分:1)

我做到了。我之前看到过如何将字符串转换为字符数组并将其混合到我现在正在研究的内容中。栈。

stack <int> Name;
name="mohit";
for(char c:name)
 Name.push(c);
for(char c:name){
cout<<Name.top();
 Name.pop();}

输出 tihom 它的功能很简单。它将字符串转换为字符数组,然后逐个字符地推送字符串。为了弹出我们使用相同的循环,它使用LIFO原则弹出。