#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct node
{
int data;
node * pir;
}NODE,*PNODE;
typedef struct Stack
{
node * bottom;
node * top;
}STACK,*PSTACK;
PNODE initStack(PSTACK);
bool push(PSTACK,int);
void traver(PSTACK);
int main()
{
STACK stack;
push(&stack,3);
push(&stack,3);
traver(&stack);
return 0;
}
PNODE initStack(PSTACK stack)
{
PNODE pHead=(PNODE)malloc(sizeof(NODE));
if(pHead==NULL)
{
printf("内存分配失败!");
exit(0);
}
pHead->pir=NULL;
stack->bottom=pHead;
stack->top=pHead;
return pHead;
}
bool push(PSTACK stack,int dat)
{
PNODE pNew=(PNODE)malloc(sizeof(node));
pNew->data=dat;
pNew->pir=stack->top;
stack->top=pNew;
return true;
}
void traver(PSTACK stack)
{
PNODE p=stack->top;
while(p!=stack->bottom)
{
printf("%d",p->data);
p=p->pir;
}
return;
}