堆栈的顺序存储结构实现2——栈满 栈空 入栈 出栈

来源:互联网 发布:淘宝卖自家产大米 编辑:程序博客网 时间:2024/05/18 09:20
//Filename   :    stack.c
//Author   :LupingChen
//Date   :2015.5.26
//Content   :empty.full .push.pop
#include <stdio.h>
#include <stdlib.h>
//声明堆栈结构体数据类型
typedef struct {
int* arr[];
int len;
int top;
} Stack;
//判断站满
int full(Stack* ps);
//判断栈空
int empty(Stack* ps);
//入栈操作
void push(Stack* ps, int data);
//出栈操作
int pop(Stack* ps);
int main(void)
{
return 0;
}
 
//判断栈满
int full(Stack* ps)
{
return ps->top == ps->len;
}
//判断栈空
int empty(Stack* ps)
{
return 0 == ps->top;
}
//入栈操作
void push(Stack* ps, int data)
{
//栈满
if (full(ps))
{
printf("栈满,入栈失败");
return -1;
}
//数据压栈
ps->arr[ps->top] = data;
ps->top++;
}
//出栈操作
int pop(Stack* ps)
{
//栈空
if (empty)
{
printf("栈空,出栈失败");
return -1;//栈空报错
}
//数据弹出
return ps->arr[--ps->top];
}
0 0
原创粉丝点击