如何将字符串推入堆栈?

时间:2016-04-17 05:36:06

标签: 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->top], str);
    return;
}

我想形成一个像这样的堆栈

red
blue
green

我做得对吗?

1 个答案:

答案 0 :(得分:1)

对于基础知识,问题的答案是堆栈本身的定义。

  

堆栈是一种基本数据结构,可以在逻辑上被认为是由真实物理堆栈或堆栈表示的线性结构,这是一种在一端(称为堆栈顶部)发生项目插入和删除的结构。

你正在做的是创建一堆字符,并尝试将字符串推送到它。 相反,你应该创建一堆字符串。

typedef struct{
string stk[10];
int top;
}STACK;

void push(top,string str)
{
   top++;
   //overflow condition here
   strcpy(STACK.stk[top],str);
}

C和C ++中有很多不同的东西,所以请先决定使用哪种语言。这将有助于您获得更好的答案。