一、入栈、出栈操作
#include<iostream>
using namespace std;
#define MAXSIZE 10 //栈最大容量
typedef int SElemType; //别名int类型,表示栈元素
//顺序栈的存储结构
typedef struct
{
SElemType *base; //栈底指针
SElemType *top; //栈顶指针
int stacksize; //可用最大容量
}SqStack; //定义一个栈
//创建一个空栈
bool CreateStack(SqStack &S) //引用类型SqStack
{
S.base= new SElemType[MAXSIZE]; //给栈底赋值一个空的int型数组
if(!S.base) return(0); //存储分配失败
S.top= S.base; //初始top==base,栈顶等于栈底
S.stacksize= MAXSIZE; //设置栈的最大容量
return(1);
}
//入栈(压栈操作):插入元素e为新的栈顶元素
bool Push(SqStack &S, SElemType e)
{
if(S.top-S.base==S.