Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #define STACK_MAX_SIZE 50
- #define STACK_OVERFLOW 1
- #define STACK_UNDERFLOW 0
- typedef int T;
- typedef struct Stack_tag {
- T data[STACK_MAX_SIZE];
- size_t size;
- } Stack_t;
- void push(Stack_t *stack, const T value) {
- if (stack->size >= STACK_MAX_SIZE) {
- exit(STACK_OVERFLOW);
- }
- stack->data[stack->size] = value;
- stack->size++;
- }
- T pop(Stack_t *stack){
- if (stack->size == 0) {
- exit(STACK_UNDERFLOW);
- }
- stack->size--;
- return stack->data[stack->size];
- }
- T peek(Stack_t* stack){
- if (stack->size <= 0) {
- exit(STACK_UNDERFLOW);
- }
- return stack->data[stack->size - 1];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement