顺序栈的出栈入栈

来源:百度知道 编辑:UC知道 时间:2024/09/25 22:15:38
谁能用C语言帮忙编个含栈的初始化,出栈算法、入栈算法。主要是顺序栈
最好能输入元素入栈
还有打印全部元素
2楼和3楼的程序都不能通过编译=,=!

#include <stdlib.h>
#include <stdio.h>

const int MAXSIZE = 100;
typedef int ElemType;

typedef struct LINKSTACK
{
ElemType data[MAXSIZE];
int top;
} LinkStack, *pLinkStack;

void Init(pLinkStack stack);
int Push(pLinkStack stack, ElemType item);
int Pop(pLinkStack stack, ElemType *item);
int IsEmpty(pLinkStack stack);
int IsFull(pLinkStack stack);
ElemType Top(pLinkStack stack);

/* 初始化 */
void Init(pLinkStack stack)
{
stack->top = 0;
}

/* 入栈 */
int Push(pLinkStack stack, ElemType item)
{
if (IsFull(stack))
return 0;

stack->data[stack->top++] = item;
return 1;
}

/* 出栈 */
int Pop(pLinkStack stack, ElemType *item)
{
if (IsEmpty(stack))
return 0;

*item = stack->data[--stack->top];
return 1;
}

/* 获取栈顶元素 */
ElemType