#include <stdio.h>
#define MAXSIZE 1000
#define OK 1
#define ERROR 0
typedef int SElemType;
typedef struct
{
SElemType data[MAXSIZE];
int top1;
int top2;
}SqDoubleStack;
int Push(SqDoubleStack &S, SElemType e, int stackNumber)
{
if (S.top1 +1 == S.top2)
{
return ERROR;
}
if (stackNumber == 1)
{
S.data[++S.top1] = e;
}
else if (stackNumber == 2)
{
S.data[--S.top2] = e;
}
return OK;
}
int Pop(SqDoubleStack &S, SElemType e, int stackNumber)
{
if (stackNumber == 1)
{
if (S.top1 == -1)
{
return ERROR;
}
e = S.data[S.top1--];
}
else if (stackNumber == 2)
{
if (S.top2 == MAXSIZE)
{
return ERROR;
}
e = S.data[S.top2++];
}
return OK;
}
数据结构 共用栈的基本操作
最新推荐文章于 2022-12-13 09:23:11 发布