#include"stdio.h"
typedef struct Stack{
int date;
struct Stack *next;
}Stack;
typedef struct{
Stack *top;
}LinkStack;
void view(){
printf("操作:\n");
printf("1 进栈\n");
printf("2 出栈\n");
}
void StackPush(LinkStack *S){
Stack *p;
p = new Stack;
printf("请输入进栈元素:");
scanf_s("%d", &p->date);
p->next = S->top;
S->top = p;
printf("操作成功\n\n");
}
void StackPop(LinkStack *S){
printf("出栈元素为:%d\n", S->top->date);
S->top = S->top->next;
printf("操作成功\n\n");
}
void Print(LinkStack *S){
Stack *p;
p = S->top;
printf("栈内元素为:\n");
while (p != NULL){
printf("%d ", p->date);
p = p->next;
}
printf("\n操作成功\n\n");
}
int main(){
LinkStack *S;
S = new LinkStack;
S->top = NULL;
int choose=1;
while (choose){
view();
printf("请选择:");
scanf_s("%d", &choose);
if (choose == 1){
StackPush(S);
Print(S);
}
if (choose == 2){
StackPop(S);
Print(S);
}
}
}