介绍:
一 顺序栈规定:先进后出数据类型#define MAX 10typedef struct
{DATATYPE buf[MAX];int top;//栈顶元素的下标
}SeqStack;A .创建SeqStack *create_stack()
{SeqStack *s;s = 分配空间;s->top = -1;return s;
}B.栈空int is_empty_stack(SeqStack *s);C.栈满int is_full_stack(SeqStack *s);D.入栈
int push_stack(SeqStack *s,DATATYPE data)
{s->top ++;s->buf[s->top] = data;
}E.出栈DATATYPE pop_stack(SeqStack *s)
{
}F.获得栈顶元素
DATATYPE get_top_data(SeqStack *s)
{return s->buf[s->top];
}例如:
SeqStack *s = create_stack();while(!is_full_stack(s))
{push_stack(s,i++);
}while(!is_empty_stack(s))
{printf("%d ",pop_stack(s));
}
printf("\n");
Code:
#include <stdio.h>
#include <stdlib.h>#define MAX 10typedef int DATATYPE;typedef struct
{//存放栈中元素DATATYPE buf[MAX];//记录栈顶的位置int top;
}SeqStack;SeqStack *create_empty_stack()
{SeqStack *s;s = (SeqStack *