#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define Maxsize 50 //定义栈中最大元素个数
typedef int ElemType;
typedef struct
{
ElemType data[Maxsize]; //静态数组存放栈中元素
int top; //栈顶指针
} SqStack;
//初始化
void initStack(SqStack &S)
{
S.top = -1;
printf("初始化成功\n");
}
//入栈
bool push(SqStack &S, ElemType &x)
{
if (S.top == Maxsize - 1)
{
printf("入栈失败\n");
return false;
}
else
{
S.data[++S.top] = x;
printf("入栈成功\n");
return true;
}
}
//出栈
bool pop(SqStack &S, ElemType &x)
{
if (S.top == -1)
{
printf("出栈失败\n");
return false;
}
else
{
x = S.data[S.top--];
printf("出栈成功\n");
return true;
}
}
//判空
bool stackEmpty(SqStack S)
{
if (S.top == -1)
return true;
else
return false;
}
//判满
bool stackFull(SqStack S)
{
if (S.top == Maxsize - 1)
return true;
else
return false;
}
int main(int argc, char const *argv[])
{
/* code */
SqStack NewSqStack;
initStack(NewSqStack);
system("pause");
return 0;
}
定义顺序存储的栈(数组实现)
最新推荐文章于 2024-09-19 13:36:34 发布