#include <stdio.h>
#define MAX_SIZE 10
typedef int ElemType;
typedef struct Stack
{
ElemType data[MAX_SIZE];
int top;
} Stack;
void InitStack(Stack *stack)
{
stack->top = -1;
}
int Push(Stack *stack, ElemType data)
{
if (stack->top == MAX_SIZE - 1)
{
printf("full\n");
return 0;
}
stack->data[++stack->top] = data;
return 1;
}
int Pop(Stack *stack)
{
if (stack->top == -1)
{
printf("pop error\n");
return -1;
}
stack->data[stack->top--];
}
void displayStack(Stack *stack)
{
if (stack->top == -1)
{
printf("null\n");
return;
}
for (int i = 0; i < stack->top + 1; i++)
{
printf("%d ", stack->data[i]);
}
putchar('\n');
}
int main()
{
Stack stack;
InitStack(&stack);
displayStack(&stack);
Push(&stack, 1);
Push(&stack, 2);
Push(&stack, 3);
Push(&stack, 4);
displayStack(&stack);
Pop(&stack);
displayStack(&stack);
Pop(&stack);
Pop(&stack);
Pop(&stack);
displayStack(&stack);
return 0;
}
C static stack 静态栈
于 2023-03-11 22:14:07 首次发布