File: stack.h

package info (click to toggle)
0ad 0.0.17-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 51,248 kB
  • ctags: 46,933
  • sloc: cpp: 223,208; ansic: 31,240; python: 16,343; perl: 4,083; sh: 1,011; makefile: 915; xml: 733; java: 621; ruby: 229; erlang: 53; sql: 40
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