栈-1-顺序栈的基本操作

#include 
#include 
using namespace std; 
#define maxSize 4

typedef struct SqStack{
     
	int data[maxSize];
	int top;
}SqStack;

void initStack(SqStack &st){
     
	st.top = -1;
}

int isEmpty(SqStack st){
     
	if(st.top != -1)
		return 0;
	else
		return 1;
}

int push(SqStack &st,int x){
     
	if(st.top == maxSize - 1)
		return 0;
	
	++(st.top);
	st.data[st.top] = x;
	return 1;
}  

int pop(SqStack &st,int &e){
     
	if(st.top == -1)
		return 0;
		
	e = st.data[st.top];
	--(st.top);
	return 1;
}

int main(int argc, char** argv) {
     	
	SqStack st;
	int e;
	
	initStack(st);
	push(st,1);
	push(st,3);
	push(st,5);
	push(st,7);
	pop(st,e);
	
	int i=0;
	while(i<st.top+1){
     
		cout<<st.data[i];
		i++;
	}

	return 0;
}

你可能感兴趣的:(栈-1-顺序栈的基本操作)