diff options
| author | Thomas Schmucker <ts@its1.de> | 2020-10-04 14:36:07 +0200 |
|---|---|---|
| committer | Thomas Schmucker <ts@its1.de> | 2020-10-04 14:36:07 +0200 |
| commit | 6fb072f62c2f50118dd5cb377d10c76ece51e5fb (patch) | |
| tree | d4572ba16b2ab45a7601b70cdb5811023ac3b390 /stack.c | |
| parent | ace33ff2c18c732e7ac30c49d95f7c35e06d7cee (diff) | |
| download | data-structures-6fb072f62c2f50118dd5cb377d10c76ece51e5fb.tar.gz data-structures-6fb072f62c2f50118dd5cb377d10c76ece51e5fb.tar.bz2 data-structures-6fb072f62c2f50118dd5cb377d10c76ece51e5fb.zip | |
Setze srcut-Marker...
Diffstat (limited to 'stack.c')
| -rw-r--r-- | stack.c | 12 |
1 files changed, 12 insertions, 0 deletions
| @@ -6,6 +6,7 @@ | |||
| 6 | /* Project */ | 6 | /* Project */ |
| 7 | #include "util.h" | 7 | #include "util.h" |
| 8 | 8 | ||
| 9 | /* --8<-- stack_type */ | ||
| 9 | typedef int T; | 10 | typedef int T; |
| 10 | 11 | ||
| 11 | struct stack_item { | 12 | struct stack_item { |
| @@ -16,13 +17,17 @@ struct stack_item { | |||
| 16 | struct stack { | 17 | struct stack { |
| 17 | struct stack_item *head; | 18 | struct stack_item *head; |
| 18 | }; | 19 | }; |
| 20 | /* -->8-- */ | ||
| 19 | 21 | ||
| 22 | /* --8<-- stack_init */ | ||
| 20 | void | 23 | void |
| 21 | stack_init(struct stack *stack) | 24 | stack_init(struct stack *stack) |
| 22 | { | 25 | { |
| 23 | stack->head = NULL; | 26 | stack->head = NULL; |
| 24 | } | 27 | } |
| 28 | /* -->8-- */ | ||
| 25 | 29 | ||
| 30 | /* --8<-- stack_push */ | ||
| 26 | void | 31 | void |
| 27 | stack_push(struct stack *stack, T data) | 32 | stack_push(struct stack *stack, T data) |
| 28 | { | 33 | { |
| @@ -36,7 +41,9 @@ stack_push(struct stack *stack, T data) | |||
| 36 | else | 41 | else |
| 37 | ERROR("out of memory"); | 42 | ERROR("out of memory"); |
| 38 | } | 43 | } |
| 44 | /* -->8-- */ | ||
| 39 | 45 | ||
| 46 | /* --8<-- stack_pop */ | ||
| 40 | bool | 47 | bool |
| 41 | stack_pop(struct stack *stack, T *data) | 48 | stack_pop(struct stack *stack, T *data) |
| 42 | { | 49 | { |
| @@ -54,13 +61,17 @@ stack_pop(struct stack *stack, T *data) | |||
| 54 | else | 61 | else |
| 55 | return false; | 62 | return false; |
| 56 | } | 63 | } |
| 64 | /* -->8-- */ | ||
| 57 | 65 | ||
| 66 | /* --8<-- stack_empty */ | ||
| 58 | bool | 67 | bool |
| 59 | stack_empty(struct stack *stack) | 68 | stack_empty(struct stack *stack) |
| 60 | { | 69 | { |
| 61 | return stack->head == NULL; | 70 | return stack->head == NULL; |
| 62 | } | 71 | } |
| 72 | /* -->8-- */ | ||
| 63 | 73 | ||
| 74 | /* --8<-- stack_free */ | ||
| 64 | void | 75 | void |
| 65 | stack_free(struct stack *stack) | 76 | stack_free(struct stack *stack) |
| 66 | { | 77 | { |
| @@ -71,6 +82,7 @@ stack_free(struct stack *stack) | |||
| 71 | free(item); | 82 | free(item); |
| 72 | } | 83 | } |
| 73 | } | 84 | } |
| 85 | /* -->8-- */ | ||
| 74 | 86 | ||
| 75 | int | 87 | int |
| 76 | main() | 88 | main() |
