diff options
| author | Andrew <saintruler@gmail.com> | 2021-02-10 22:18:52 +0400 |
|---|---|---|
| committer | Andrew <saintruler@gmail.com> | 2021-02-10 22:18:52 +0400 |
| commit | 83f659d36b8c64209b72e70583cb4f0a6852e7be (patch) | |
| tree | dabe841ec5bbb2a1aac6301f3e4dbb6774ca7860 /structures/stack.h | |
| parent | ee1fd8e4b8090cbc107af5c8d05fa1979f43f9fd (diff) | |
Заменил run.sh на Makefile и вынес реализацию стека с функциями в отдельный файл
Diffstat (limited to 'structures/stack.h')
| -rw-r--r-- | structures/stack.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/structures/stack.h b/structures/stack.h new file mode 100644 index 0000000..171f8ae --- /dev/null +++ b/structures/stack.h @@ -0,0 +1,32 @@ +#pragma once + +struct stack +{ + int inf; + stack *next; +}; + +void push(stack *&h, int x) +{ + stack *r = new stack; + r->inf = x; + r->next = h; + h = r; +} + +int pop(stack *&h) +{ + int i = h->inf; + stack *r = h; + h = h->next; + delete r; + return i; +} + +void reverse(stack *&h) +{ + stack *head1 = NULL; + while (h) + push(head1, pop(h)); + h = head1; +} |