C++ 如何将字符串推入堆栈?
我想把红色、蓝色和绿色的线塞进一堆C++ 如何将字符串推入堆栈?,c++,c,C++,C,我想把红色、蓝色和绿色的线塞进一堆 //This is my structure containing the stack and top pointer typedef struct{ char stk[10]; int top; }STACK; //This is my push funtion void push(STACK stak, char str[]) { stak->top++; strcpy(stak->stk[stak->
//This is my structure containing the stack and top pointer
typedef struct{
char stk[10];
int top;
}STACK;
//This is my push funtion
void push(STACK stak, char str[])
{
stak->top++;
strcpy(stak->stk[stak->top], str);
return;
}
我想像这样堆起来
red
blue
green
我做得对吗?对于基本问题,您的问题的答案是堆栈本身的定义 堆栈是一种基本的数据结构,在逻辑上可以认为是由真实的物理堆栈或堆栈表示的线性结构,在这种结构中,项的插入和删除发生在称为堆栈顶部的一端 您所做的是创建一堆字符,并尝试将字符串推送到其中。 相反,您应该创建一个字符串堆栈
typedef struct{
string stk[10];
int top;
}STACK;
void push(top,string str)
{
top++;
//overflow condition here
strcpy(STACK.stk[top],str);
}
还有很多事情在C和C++中是不同的,所以请先决定你要用哪种语言。这将帮助您获得更好的答案。否。您的堆栈包含10个字符的数组,您将向其中推送3个字符串。你得到了什么结果?是C还是C++?请选择一种语言。它会崩溃。所以我需要你们的帮助。请修改我的程序使它工作。是否可以将字符串推入堆栈的1个索引中?您是通过值传递堆栈,而它应该通过引用传递,例如void push(stack&stak,char str[])。此外,身体功能应该是“strcpy(stak->stk[++stak->top],str);”我不知道你可以有一个字符串数组。谢谢你,伙计。这里是新手