链栈 基本操作

来源:百度知道 编辑:UC知道 时间:2024/06/07 00:57:14
以数字型数据元素为例,完成链栈的基本操作。操作包括初始化栈、判断栈空、进栈、出栈、取栈顶元素。所有操作由菜单控制完成。

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

typedef struct stack{
int *top;
int *base;
}stack,node;

int Initstack(node s)
{
s.base=(int *)malloc(sizeof(node));
if(!s.base)
return 0;
else
s.top=s.base;
}

int push(stack s,int e)
{
*s.top++=e;
}

int pop(stack s)
{
printf("%d",*--s.top);
}

int stack_top(stack s)
{
int *p;
p=s.top-1;
printf("%d",*p);
}

int stack_E_F(stack s)
{
if(s.top==s.base)
printf("栈空");
else
printf("栈非空");
}
int main()
{

int n=1;