Stack create, push, pop, empty operations
typedef struct _stack {
int top;
void* array[20];
} Stack;
Stack* createStack()
{
Stack *stack = malloc(sizeof(Stack));
memset(stack, 0, sizeof(Stack));
return stack;
}
void push(Stack* stack, void* elem)
{
stack->array[stack->top] = elem;
stack->top += 1;
}
void* pop(Stack* stack)
{
void* elem = stack->array[stack->top-1];
stack->top -= 1;
return elem;
}
void* top(Stack* stack)
{
if (stack->top == 0)
return NULL;
return stack->array[stack->top-1];
}
int isEmpty(Stack* stack)
{
return stack->top;
}
No comments:
Post a Comment