#include<iostream.h>
#include<stdlib.h>
#define INIT_SIZE 100//存储空间初始分配量
#define INCREMENT 10//存储空间分配增量
#define ElemType char
typedef struct //顺序栈的数据结构
{
ElemType *base;//在栈构造之前和销毁之后,base值为NULL
ElemType *top;//栈顶指针
int stacksize;//当前已分配的存储空间,以元素为单位
}SqStack;
int InitStack(SqStack &S)//构造一个空栈
{
S.base=new ElemType[INIT_SIZE];
if(S.base == NULL)
{//溢出
cout<<"存储空间分配失败!"<<endl;return -1;
}
S.top=S.base;//S.top=S.base表示为空栈
S.stacksize=INIT_SIZE;//为栈容量赋初值
return 1;
}
int GetTop(SqStack S)//如栈非空,则将其打印输出
{
if(S.base == S.top)
{
cout<<"当前栈已空!"<<endl;return -1;
}
char e=*(S.top - 1);//可利用e返回栈顶元素值
cout<<"当前栈的栈顶为&
建立数据元素值为字符型的顺序栈(C++版)
最新推荐文章于 2024-04-21 21:26:55 发布
这篇博客详细介绍了如何使用C++建立一个数据元素值为字符型的顺序栈,包括初始化栈、获取栈顶元素、删除栈顶元素、压栈、显示栈中所有元素等操作。并提供了完整的代码实现,方便读者理解和应用。
摘要由CSDN通过智能技术生成