首页 > 学院 > 开发设计 > 正文

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

2019-11-08 01:36:16
字体:
来源:转载
供稿:网友
#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);	}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表