严蔚敏数据结构第二版(p85,3)

来源:互联网 发布:php完全自学手册 编辑:程序博客网 时间:2024/05/20 17:07
#include <iostream>#include <string>#include <vector>#define MAXSIZE 100/*习题3 */using namespace std;typedef struct {int *base;int *top;int size;}SqStack;//初始化 int init(SqStack &S){S.base = new int[MAXSIZE];if(!S.base){cout<<"init err:-1"<<endl;return -1;}S.top = S.base;S.size = MAXSIZE;return 1;}//入栈int push(SqStack &S,int e){if(S.top-S.base == MAXSIZE){cout<<"push err:-1"<<endl;return -1;}*S.top++ = e;return 1; }  //出栈 int pop(SqStack &S) { if(S.base == S.top) { cout<<"pop err:-1"<<endl; return -1; } *--S.top; return 1;  }   //取栈顶  int getTop(SqStack S)  {  if(S.top!=S.base)  {  return *(S.top-1);  }   } int main(){SqStack stack;init(stack);int a;cout<<"请输入a的值:";cin>>a;while(a!=-1){cout<<"请输入a的值:";push(stack,a);cin>>a;}if(a==-1){cout<<"栈顶元素为:"<<getTop(stack)<<endl;pop(stack);}}

0 0
原创粉丝点击