#數據結構#棧

/*		棧		*/
typedef struct{
	ElemType data[MaxSize];
	int top;
} SqStack; 
//初始化棧
void InitStack(SqStack *&s){
	s=(SqStack *)malloc(sizeof(SqStack));
	s->top=-1;
} 
//銷燬棧
void DestroyStack(SqStack *&s){
	free(s);
} 
//判斷棧是否爲空
bool isStackEmpty(SqStack *s){
	return(s->top==-1);
} 
//進棧
bool Push(SqStack *&s,ElemType e){
	if(s->top==MaxSize-1){
		return false;
	}
	s->top++;
	s->data[s->top]=e;
	return true;
} 
//出棧
bool Pop(SqStack *&s,ElemType &e){
	if(s->top==-1){
		return false;
	}
	e=s->data[s->top];
	s->top--;
	return true;
} 
//取棧頂元素
bool GetTop(SqStack *s,ElemType &e){
	if(s->top==-1){
		return false;
	}
	e=s->data[s->top];
	return true;
} 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章