c++顺序栈的实例
1、第一步,构建顺序栈的储存结构:
#include<iostream>
using namespace std;
#define MAXSIZE 100
typedef struct //顺序栈的储存结构
{
int *base;
int *top;
int stacksize;
}SqStack;
2、第二步,顺序栈的初始化
int InitStack(SqStack &S)//顺序栈的初始化
{
S.base=new int [MAXSIZE];
if(!S.base)exit(0);
S.top=S.base;
S.stacksize=MAXSIZE;
return 1;
}
3、第三步,入栈
int Push(SqStack &S,int e)//入栈
{
if(S.top-S.base==S.stacksize)return 0;
*S.top=e;
S.top++;
return 1;
}
4、第四步,取栈顶元素
int GetTop(SqStack &S)//取栈顶元素;
{
if(S.top!=S.base)
return *(S.top-1);
}
5、第五步,出栈
int Pop(SqStack &S,int &e)//出栈
{
if(S.top==S.base)return 0;
e=*--S.top;//等价于S.top--;e=S.top;
return 1;
}
6、第六步,主函数
int main()
{
SqStack S;
InitStack(S);
int e;
cin>>e;
Push(S,e);
int d;
d=GetTop(S);
cout<<d<<endl;
Pop(S,e);
cout<<e<<endl;
return 0;
}
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:29
阅读量:86
阅读量:47
阅读量:77
阅读量:68