数据结构笔记-栈

栈 Stack

一、存储

  • 伪代码
typedef struct{
    ElementType data[MAX_SIZE];    // 栈的顺序存储
    int top;    // 栈顶指针
}Stack;
  • C语言实例(部分代码)
#define MAX_SIZE 100

typedef int ElementType;

typedef struct{
    ElementType data[MAX_SIZE];    // 栈的顺序存储
    int top;    // 栈顶指针
}Stack;

二、操作

1.入栈

  • 伪代码
bool Push(Stack &s, int x)
{
    //  栈满 入栈失败
    if(s.top == MAX_SIZE-1) return false;

    // 栈未满 入栈成功
    s.data[++s.top] = x;
    return true;
}

2.出栈

  • 伪代码
bool Pop(Stack &s, int &x)
{
    // 栈空 出栈失败
    if(s.top == -1) return false;

    // 栈未空 出栈成功并返回值给x
    x = s.data[s.top--];
    return true;
}

你可能感兴趣的:(数据结构笔记-栈)