Advertisement
levartolona

STUPID_STACK

Jan 11th, 2020
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.73 KB | None | 0 0
  1. typedef struct stack
  2. {
  3.     int data;
  4.     struct stack* prev;
  5. }node_t;
  6.  
  7. node_t *push(node_t *stack, int data)
  8. {
  9.     node_t *elem = malloc(sizeof(node_t));
  10.     elem -> prev = stack;
  11.     elem -> data = data;
  12.  
  13.     return elem;
  14. }
  15.  
  16. node_t *pop(node_t *stack, int *data)
  17. {
  18.     if (stack)
  19.     {
  20.         node_t *node = stack -> prev;
  21.         *data = stack -> data;
  22.         free(stack);
  23.         return node;
  24.     }
  25.  
  26.     return stack;
  27. }
  28.  
  29. node_t *peek(node_t *stack, int *data)
  30. {
  31.     stack = pop(stack, data);
  32.     stack = push(stack, *data);
  33.  
  34.     return stack;
  35. }
  36.  
  37. void delete(node_t *stack)
  38. {
  39.     while (stack)
  40.     {
  41.         node_t *back = stack -> prev;
  42.         free(stack);
  43.         stack = back;
  44.     }
  45.  
  46.     return;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement