包括:栈建立;入栈;出栈;打印栈;
构造节点:
#define SLen (sizeof(struct stu))
typedef struct stu
{
int a;
struct stu *next;
}*Stack;
栈的建立:
/*
建立栈
*/
Stack create()
{
Stack p=(Stack)malloc(SLen);
if(p==NULL)
{
printf("No Enough Space
");
return NULL;
}
else
{
p->next=NULL;
}
return p;
}
入栈操作:
/*
入栈函数
*/
void push(int x,Stack s)
{
Stack p=(Stack)malloc(SLen);
if(s==NULL)
{
printf("Stack Error");
}
else
{
p->a=x;
p->next=s->next;
s->next=p;
}
}
出栈操作:
/*
出栈函数
*/
void pop(Stack s)
{
Stack p=s->next->next;
free(s->next);
s->next=p;
}
打印栈数据
/* 打印输出函数 */ void printfStack(Stack s) { Stack p=s->next; int i=0; while(p!=NULL) { i++; printf("第%d个元素:%d ",i,p->a); p=p->next; } }