summaryrefslogtreecommitdiff
path: root/src/01/06/min_stack.h
blob: 416a93a497db40909ee25ed94e4934b0b47b9f66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct node {
  int data;
  struct node *next;
};

typedef struct node Node;

typedef struct {
  Node *head;
  Node *min;
  int size;
} Stack;

Stack *initialize(void);
void push(Stack *self, int data);
int pop(Stack *self);
int size(Stack *self);
int min(Stack *self);