-
-
[原创]数据结构之栈(C语言实现)
-
发表于:
2013-8-9 13:55
17845
-
//定义顺序栈的结构
typedef struct stack
{
student data[SIZE+1]; //数据元素
int top; //栈顶
}SeqStack;
//初始化栈
SeqStack * SeqStackInit()
{
SeqStack *p;
if (p = (SeqStack *)malloc(sizeof(SeqStack))) //申请栈内存
{
p->top = 0;
return p;
}
return NULL; //申请内存失败返回空值
}
//释放栈内存
void SeqStackFree(SeqStack *s)
{
if(s)
free(s);
}
//判断栈的状态
int SeqStackIsEmpty(SeqStack *s) //判断栈是否为空
{
return(s->top == 0);
}
void SeqStackClear(SeqStack *s) //清空栈
{
s->top = 0;
}
void SeqStackIsFull(SeqStack *s) //判断栈是否已满
{
return(s->top == SIZE);
}
//入栈
int SeqStackPush(SeqStack *s, student data) //入栈操作
{
if ((s->top+1) > SIZE)
{
printf("栈溢出!\n");
return 0;
}
s->data[++s->top] = data; //将元素入栈
return 1;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课