#include<stdio.h>
#define Maxsize 100
typedef struct
{ char name[20];
int age;
int adress;
}Student;
typedef struct
{ Student data;
int top;
}Stack;
int Init(Stack *a)
{ a->top=-1;
return 1;
}
void IsEmpty(Stack *a)
{ if(a->top==-1) printf("此表为空");
else printf("此表不为空");
}
void IsFill(Stack *a)
{ if(a->top=Maxsize) printf("此表已满");}
void Pop(Stack *a)//出栈
{
printf("%s%5d%5d\n",a[a->top].data.name,a[a->top].data.age,a[a->top].data.adress);
a->top--;
}
void Push(Stack *a,Student x)//入栈
{ a[(a->top)+1].data=x;
a->top++;
}
int main()
{ Stack stack[Maxsize];
Stack *p=stack;
Student student;
int n,i;
Init(stack);
printf("请输入栈的规模:");
scanf("%d",&n);
for(i=0;i<n;i++)
{ printf("请输入第%d个数据:",i+1);
scanf("%s%d%d",student.name,&student.age,&student.adress);
}
for(i=0;i<n;i++)
{ Push(p,student);}
Pop(p);
printf("%d",p->top);
return 0;
}
顺序栈的操作
最新推荐文章于 2022-01-28 16:04:44 发布