如何将字符串推入堆栈

How to push strings into a stack?

本文关键字:堆栈 字符串      更新时间:2023-10-16

我想将红色、蓝色和绿色等字符串推入堆栈

//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++也有很多不同之处,所以请先决定你要使用哪种语言。这将帮助你得到更好的答案。