summaryrefslogtreecommitdiff
path: root/stack_utils.c
diff options
context:
space:
mode:
authorDominik Kaiser2024-04-16 17:35:14 +0200
committerDominik Kaiser2024-04-16 17:35:14 +0200
commitd7494ad228ed8b3e166f28180c3b3550d79d4cc7 (patch)
tree3a7c193bfbfa39d9c1139415150f6bec6b41c787 /stack_utils.c
parent321cd3e03788cb1f077268d84f8c0c064fadb2ae (diff)
downloadpush_swap-optimization.tar.gz
push_swap-optimization.zip
Work on optimization (still not working)quicksortoptimization
Diffstat (limited to 'stack_utils.c')
-rw-r--r--stack_utils.c32
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)