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 /stack2.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 'stack2.c')
| -rw-r--r-- | stack2.c | 12 |
1 files changed, 12 insertions, 0 deletions
| @@ -4,13 +4,16 @@ | |||
| 4 | 4 | ||
| 5 | #include "util.h" | 5 | #include "util.h" |
| 6 | 6 | ||
| 7 | /* --8<-- stack2_type */ | ||
| 7 | typedef int T; | 8 | typedef int T; |
| 8 | 9 | ||
| 9 | struct stack { | 10 | struct stack { |
| 10 | T * array; | 11 | T * array; |
| 11 | size_t sz, p; | 12 | size_t sz, p; |
| 12 | }; | 13 | }; |
| 14 | /* -->8-- */ | ||
| 13 | 15 | ||
| 16 | /* --8<-- stack2_init */ | ||
| 14 | void | 17 | void |
| 15 | stack_init(struct stack *stack) | 18 | stack_init(struct stack *stack) |
| 16 | { | 19 | { |
| @@ -18,7 +21,9 @@ stack_init(struct stack *stack) | |||
| 18 | stack->sz = 0; | 21 | stack->sz = 0; |
| 19 | stack->p = 0; | 22 | stack->p = 0; |
| 20 | } | 23 | } |
| 24 | /* -->8-- */ | ||
| 21 | 25 | ||
| 26 | /* --8<-- stack2_push */ | ||
| 22 | bool | 27 | bool |
| 23 | stack_push(struct stack *stack, T data) | 28 | stack_push(struct stack *stack, T data) |
| 24 | { | 29 | { |
| @@ -50,7 +55,9 @@ stack_push(struct stack *stack, T data) | |||
| 50 | stack->array[stack->p++] = data; | 55 | stack->array[stack->p++] = data; |
| 51 | return true; | 56 | return true; |
| 52 | } | 57 | } |
| 58 | /* -->8-- */ | ||
| 53 | 59 | ||
| 60 | /* --8<-- stack2_pop */ | ||
| 54 | bool | 61 | bool |
| 55 | stack_pop(struct stack *stack, T *data) | 62 | stack_pop(struct stack *stack, T *data) |
| 56 | { | 63 | { |
| @@ -65,18 +72,23 @@ stack_pop(struct stack *stack, T *data) | |||
| 65 | else | 72 | else |
| 66 | return false; | 73 | return false; |
| 67 | } | 74 | } |
| 75 | /* -->8-- */ | ||
| 68 | 76 | ||
| 77 | /* --8<-- stack2_empty */ | ||
| 69 | bool | 78 | bool |
| 70 | stack_empty(struct stack *stack) | 79 | stack_empty(struct stack *stack) |
| 71 | { | 80 | { |
| 72 | return stack->p == 0; | 81 | return stack->p == 0; |
| 73 | } | 82 | } |
| 83 | /* -->8-- */ | ||
| 74 | 84 | ||
| 85 | /* --8<-- stack2_free */ | ||
| 75 | void | 86 | void |
| 76 | stack_free(struct stack *stack) | 87 | stack_free(struct stack *stack) |
| 77 | { | 88 | { |
| 78 | free(stack->array); | 89 | free(stack->array); |
| 79 | } | 90 | } |
| 91 | /* -->8-- */ | ||
| 80 | 92 | ||
| 81 | int | 93 | int |
| 82 | main() | 94 | main() |
