顺序栈的基本操作

顺序栈的存储结构
#define MAXSIZE 100
typedef struct
{
    SElemType *base;
    SElemType *top;
    int stacksize;
}SqStack;
顺序栈的初始化
Status InitStack(SqStack &S)
{
    S.base=new SEleType[MAXSIZE];
    if(!S.base) exit(OVERFLOW);
    S.top=S.base;
    S.stacksize=MAXSIZE;
    return OK;
}
顺序栈的入栈
Status Push(SqStatus &S,SElemTpye e)
{
    if(S.top-S.base==S.stacksize) return ERROR;
    *S.top==e;
    S.top++;
    return OK;
}
顺序栈的出栈
Status Pop(SqStatus &S,SEletype &e)
{
    if(S.top-S.base==S.stacksize) return ERROR;
    S.top--;
    e=S.top;
    return OK;
}
取顺序栈的栈顶元素
SElemType GetTop(SqStatus S)
{
    if(S.top!=S.base)
    return *(S.top-1);
}

版权声明:
作者:maple
链接:https://www.maplezeroz.com/?p=256
来源:我的学习笔记
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
顺序栈的基本操作
顺序栈的存储结构 #define MAXSIZE 100 typedef struct {     SElemType *base;     SElemType *top;     int stacksize; }SqStack; 顺序栈的初始化 Status I……
<<上一篇
下一篇>>