#include <stdio.h>
#include<stdlib.h>
typedef struct lineStack {
int data;
struct lineStack* next;
}lineStack;
lineStack* push(lineStack* stack, int a) {
lineStack* line = (lineStack*)malloc(sizeof(lineStack));
line->data = a;
line->next = stack;
stack = line;
return stack;
}
lineStack* pop(lineStack* stack) {
if (stack) {
lineStack* p = stack;
stack = stack->next;
printf("出栈元素:%d ", p->data);
if (stack) {
printf("新栈顶元素:%d\n", stack->data);
}
else {
printf("栈已空\n");
}
free(p);
}
else {
printf("栈内没有元素");
return stack;
}
return stack;
}
int main() {
lineStack* stack = NULL;
stack = push(stack, 1);
stack = push(stack, 2);
stack = push(stack, 3);
stack = push(stack, 4);
stack = pop(stack);
stack = pop(stack);
stack = pop(stack);
stack = pop(stack);
stack = pop(stack);
return 0;
}