我正在使用C++,我想在堆栈中推送字符串,如在堆栈中推送int。例如
int
3."stackoverflow" 2."is" 1."Best" 0."site"
在栈的每一个索引处,我都想压入一个字符串,我该怎么做呢?
vltsax251#
使用STL,例如:
#include <stack> std::stack<std::string> s; s.push("A"); s.push("B"); s.push("C"); s.push("D");
查看STL reference以了解更多信息。
3htmauhk2#
完全同意Ton货车den Heuvel的观点,无论你说什么“在堆栈的每个索引处,我想推送一个字符串”你说的“at every index”是什么意思?你应该知道,一旦字符串在堆栈中,你只能访问顶部的字符串,在堆栈中没有索引访问。如果这是你需要的,使用std::vector代替。
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原则弹出。
tihom
3条答案
按热度按时间vltsax251#
使用STL,例如:
查看STL reference以了解更多信息。
3htmauhk2#
完全同意Ton货车den Heuvel的观点,无论你说什么
“在堆栈的每个索引处,我想推送一个字符串”
你说的“at every index”是什么意思?你应该知道,一旦字符串在堆栈中,你只能访问顶部的字符串,在堆栈中没有索引访问。如果这是你需要的,使用std::vector代替。
bq3bfh9z3#
我做到了。我之前看到了如何将字符串转换为字符数组,并将其混合到我现在正在研究的IE. Stacks中。
输出为
tihom
。它的功能很简单,它将字符串转换为字符数组,然后逐字符推送字符串。为了弹出,我们使用相同的循环,它使用LIFO原则弹出。