File: stack.h

package info (click to toggle)
0ad 0.0.21-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 54,068 kB
  • sloc: cpp: 230,527; ansic: 23,115; python: 13,559; perl: 2,499; sh: 948; xml: 776; makefile: 696; java: 533; ruby: 229; erlang: 53; sql: 21
file content (27 lines) | stat: -rw-r--r-- 476 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef STACK_H
#define STACK_H

#ifdef __cplusplus
  extern "C" {
#endif

  typedef struct stack_t {
    int size;
    int* vals;
    int capacity;
  } stack_t;

  stack_t* stack_create();
  void     stack_free(stack_t* stack);
  int      stack_size(stack_t* stack);
  void     stack_push(stack_t* stack, int val);
  int      stack_pop(stack_t* stack);
  int      stack_peak(stack_t* stack);
  int      stack_capacity(stack_t* stack);

#ifdef __cplusplus
  }
#endif


#endif