栈是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后进先出的储存数据,先进入的数据被压入栈底,需要的时候,从栈顶开始弹出数据。
栈包括了一些基本的操作,其中有出栈,入栈,取栈顶元素,判断栈是否为空等基本操作。
栈对应的数据结构如下:
typedef struct
{
ElementType data[MAXSIZE];
int top;//栈顶指针,默认是-1
}stack
int empty(stack * s){
return s->top == -1?0:1;
}
int push(stack *s,elementType e){
if(s->top == MAXSIZE-1)
return 0 //栈满不能入栈
else{
s->top++;
s->data[s->top] = x;
return 1;
}
}
//出栈
int pop(stack *s,ElementType x){
if(empty(s)){
return 0;
}{
*x = s->data[s->top];
s->top--;
return 1;
}
}
阅读(772) | 评论(0) | 转发(0) |