1. 理解

    栈是一个只能从尾部进行插入和删除数据操作的线性表,存储方式通常使用顺序存储,很少使用链式存储

2. 栈的顺序存储

1. 结构体代码

    typedef struct stack 
    {
        ElemType *top;
        ElemType *base;
        ElemType stackSize
    } sqStack;

3. 栈的链式存储

1. 结构体代码

    /**
     * @brief 栈的链式存储结构
     *
     */
    typedef struct stackNode
    {
        ElemType data;
        struct stackNode *next;
        struct stackNode *prior;
    } stackNode, *LinkStackPtr;
    typedef struct LinkStack
    {
        LinkStackPtr top; // top 指针
        ElemType *base;   // base 指针
        int count;        // 栈元素的计数器
    } LinkStack;

拓展

  1. 逆波兰表达式(RPN)