栈(stack)是一种仅限定在表尾进行插入和删除操作
允许插入的和删除的一端称为栈顶,另一端成为栈顶
不含任何元素的栈称为空栈
栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct Stack
{
int data;
struct Stack *next;
}Stack,*LinkStackprt;
typedef struct LinkStack
{
LinkStackprt top;
int count;
}LinkStack;
count = 0; //统计个数
int c; //记录出栈的数据
int main()
{
LinkStack *S;
int a,i,j,k;
printf("3 结束 4 入栈 5 出栈 \n");
S = (LinkStack *)malloc(sizeof(LinkStack)); //分配空间
S->top = NULL;
while(1)
{
scanf("%d",&k);
if(k==3)
break;
if(k==4)
{
printf("输入要入栈的数据\n");
scanf("%d",&a);
i = push(S,a);//调用入栈函数
if(i == 1)
printf("入栈成功!\n");
}