#include <iostream>
using namespace std;
#define MaxSize 10 //定义栈中元素的最大个数
typedef struct {
int data[MaxSize]; //静态数组存放栈中元素
int top; //栈顶指针
}SqStack;
//初始化栈
void InitStack(SqStack& S)
{
S.top = -1;
}
//判断栈空
bool StackEmpty(SqStack S)
{
return S.top == -1;
}
//新元素入栈
bool Push(SqStack& S, int x)
{
if (S.top == MaxSize - 1) //栈满,报错
return false;
S.data[++S.top] = x; //指针加1,新元素入栈
return true;
}
//出栈操作
bool Pop(SqStack& S, int& x)
{
if (S.top == -1) //栈空,报错
return false;
x = S.data[S.top--];
return true;
}
//读栈顶元素
bool GetTop(SqStack S, int& x)
{
if (S.top == -1)
return false; //栈空,报错
x = S.data[S.top]; //x记录栈顶元素
return true;
}
int main()
{
SqStack S; //声明一个顺序栈(分配空间)
InitStack(S);
int i = 5;
Push(S, i);
return 0;
}
王道数据结构(栈的顺序存储)
最新推荐文章于 2024-08-23 22:07:50 发布