#include<iostream>]
using namespace std;
#define MAXSIZE 50
typedef int ElemType;
//栈的顺序储存结构
typedef struct Stack {
ElemType data[MAXSIZE];
int top; //栈顶指针
};
//初始化
void initStack(Stack& s) {
s.top = -1;
}
//判空
bool stackEmpty(Stack& s) {
return s.top == -1 ? true : false;
}
//判满
bool stackFull(Stack& s) {
return s.top == MAXSIZE - 1 ? true : false;
}
//进栈
int push(Stack& s, ElemType e) {
if (stackFull(s)) {
return 0;
}
else
{
s.top++;
s.data[s.top] = e;
return 1;
}
}
//出栈
int pop(Stack& s, ElemType& e) {
if (stackEmpty(s)) {
return 0;
}
else
{
e = s.data[s.top];
s.top--;
return 1;
}
}
//读栈顶元素
int getTop(Stack& s) {
if (stackEmpty(s)) {
return 0;
}
else
{
return s.data[s.top];
}
}
01-栈和队列-顺序栈的基本操作
于 2022-10-21 22:18:24 首次发布