您的位置:首页 > 其它

堆栈--顺序存储

2013-02-23 17:55 169 查看
/**
* 栈--顺序存储
**/

#include <stdlib.h>
#include <iostream.h>

#define OK 1
#define ERROR 0
//栈的最大数据元素数目
#define MAX_STACK 10

typedef struct stack{
int item[MAX_STACK];
//存放栈中数据元素的存储单元
int top;//栈顶指针
}STACK;

//初始化栈S
void InItStack(STACK *S)
{
S->top=-1;
}

//入栈
void Push(STACK *S,int item)
{
if (S->top==MAX_STACK-1) exit(0);
else S->item[++S->top]=item;
}

//判断栈S是否为空
int StackEmpty(STACK S)
{
if(S.top==-1) return 1;
else 0;
}

//出栈
void Pop(STACK *S,int *item)
{
if (StackEmpty(*S))  exit(0);
else *item=S->item[S->top--];
}

//获取栈顶元素内容
void GetTop(STACK S,int *item)
{
if (StackEmpty(S)) exit(0);
else *item=S.item[S.top];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: