#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}StackNode,*LinkStack;
void Init_LinkStack(LinkStack *s)
{
(*s)=(StackNode *)malloc(sizeof(StackNode));
(*s)->next=NULL;
}
ElemType StackEmpty(LinkStack *s)
{
return(*s==NULL);
}
void Push(LinkStack *s,ElemType e)
{
LinkStack p;
p=(StackNode *)malloc(sizeof(StackNode));
p->data=e;
p->next=*s;
*s=p;
}
int Pop(LinkStack *s,ElemType *e)
{
LinkStack p;
if(*s==NULL) return 0;
p=*s;
(*e)=p->data;
(*s)=p->next;
free(p);
return 1;
}
int Get_Top(LinkStack *s,ElemType *e)
{
if((*s)==NULL) return 0;
(*e)=(*s)->data;
return 1;
}
void Display_LinkStack(LinkStack *s)
{
LinkStack p=*s;
while(p->next!=NULL)
{
printf("%4d",p->data);
p=p->next;
}
}
int main()
{
ElemType e;
LinkStack s;
Init_LinkStack(&s);
Push(&s,1);
Push(&s,2);
Push(&s,3);
Push(&s,4);
Display_LinkStack(&s);
//Get_Top(&s,&e);
Pop(&s,&e);
printf("%d",e);
}
脑壳疼 我要读一下《c和指针》再回来了 学校的一本教材上的代码四不像 改了半天
链栈的操作集
最新推荐文章于 2023-03-15 21:57:25 发布