📄 stack.c
字号:
#include "stack.h"
#include <stdio.h>
#include <stdlib.h>
PSTACK CreateStack()
{
PSTACK stack = (PSTACK)malloc(sizeof(STACK));
if(NULL == stack)
{
printf("memory overflow!\n");
exit(1);
}
stack->top = 0;
return stack;
}
BOOL DestroyStack(PSTACK * stack)
{
if(NULL == *stack)
return FALSE;
else
{
free(*stack);
*stack = NULL;
return TRUE;
}
}
BOOL PushStack(PSTACK stack, STACK_ELEMENT_TYPE elem)
{
if(stack->top >= MAX_STACK_SIZE)
return FALSE;
stack->data[stack->top] = elem;
++stack->top;
return TRUE;
}
BOOL PopStack(PSTACK stack, STACK_ELEMENT_TYPE * elem)
{
if(stack->top == 0)
return FALSE;
*elem = stack->data[stack->top - 1];
--stack->top;
return TRUE;
}
BOOL StackEmpty(PSTACK stack)
{
if(0 == stack->top)
return TRUE;
else
return FALSE;
}
BOOL StackFull(PSTACK stack)
{
if(MAX_STACK_SIZE == stack->top)
return TRUE;
else
return FALSE;
}
SIZE_T StackLength(PSTACK stack)
{
return (SIZE_T)stack->top;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -