diff options
| author | Dominik Kaiser | 2024-04-16 17:35:14 +0200 |
|---|---|---|
| committer | Dominik Kaiser | 2024-04-16 17:35:14 +0200 |
| commit | d7494ad228ed8b3e166f28180c3b3550d79d4cc7 (patch) | |
| tree | 3a7c193bfbfa39d9c1139415150f6bec6b41c787 /stack_utils.c | |
| parent | 321cd3e03788cb1f077268d84f8c0c064fadb2ae (diff) | |
| download | push_swap-d7494ad228ed8b3e166f28180c3b3550d79d4cc7.tar.gz push_swap-d7494ad228ed8b3e166f28180c3b3550d79d4cc7.zip | |
Work on optimization (still not working)quicksortoptimization
Diffstat (limited to 'stack_utils.c')
| -rw-r--r-- | stack_utils.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/stack_utils.c b/stack_utils.c index f240395..720d13c 100644 --- a/stack_utils.c +++ b/stack_utils.c @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/04/12 20:31:30 by dkaiser #+# #+# */ -/* Updated: 2024/04/15 21:53:40 by dkaiser ### ########.fr */ +/* Updated: 2024/04/16 16:48:32 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,21 +28,23 @@ void stack_push(t_stack *dst_stack, t_stack *src_stack) { int i; - i = dst_stack->size; - while (i > 0) - { - dst_stack->stack[i] = dst_stack->stack[i-1]; - i--; - } - dst_stack->stack[0] = src_stack->stack[0]; - dst_stack->size++; - i = 1; - while (i < src_stack->size) - { - src_stack->stack[i-1] = src_stack->stack[i]; - i++; + if (src_stack->size > 0) { + i = dst_stack->size; + while (i > 0) + { + dst_stack->stack[i] = dst_stack->stack[i-1]; + i--; + } + dst_stack->stack[0] = src_stack->stack[0]; + dst_stack->size++; + i = 1; + while (i < src_stack->size) + { + src_stack->stack[i-1] = src_stack->stack[i]; + i++; + } + src_stack->size--; } - src_stack->size--; } void stack_rotate(t_stack *stack) |
