c++ 在堆栈中推送字符串?

643ylb08  于 2023-04-13  发布在  其他
关注(0)|答案(3)|浏览(108)

我正在使用C++,我想在堆栈中推送字符串,如在堆栈中推送int
例如

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

在栈的每一个索引处,我都想压入一个字符串,我该怎么做呢?

vltsax25

vltsax251#

使用STL,例如:

#include <stack>

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

查看STL reference以了解更多信息。

3htmauhk

3htmauhk2#

完全同意Ton货车den Heuvel的观点,无论你说什么
“在堆栈的每个索引处,我想推送一个字符串”
你说的“at every index”是什么意思?你应该知道,一旦字符串在堆栈中,你只能访问顶部的字符串,在堆栈中没有索引访问。如果这是你需要的,使用std::vector代替。

bq3bfh9z

bq3bfh9z3#

我做到了。我之前看到了如何将字符串转换为字符数组,并将其混合到我现在正在研究的IE. Stacks中。

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

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

相关问题