summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Kaiser2024-04-13 16:34:23 +0200
committerDominik Kaiser2024-04-13 16:34:23 +0200
commitf5fe6ded974fea397c7a208456d669f3b5c0672e (patch)
tree461f8dbd5dcf2ca0d3fbd802252ff6cab9534490
parent4428c51329562af9feb26860b56b8b39191ac18b (diff)
downloadpush_swap-f5fe6ded974fea397c7a208456d669f3b5c0672e.tar.gz
push_swap-f5fe6ded974fea397c7a208456d669f3b5c0672e.zip
Rename optimization.c to stack_optimization.c
Also some cleanup and trying to make norminette happy
-rw-r--r--optimization.c84
-rw-r--r--stack_optimization.c80
2 files changed, 80 insertions, 84 deletions
diff --git a/optimization.c b/optimization.c
deleted file mode 100644
index f1eca7e..0000000
--- a/optimization.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* ************************************************************************** */
-/* */
-/* ::: :::::::: */
-/* optimization.c :+: :+: :+: */
-/* +:+ +:+ +:+ */
-/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
-/* +#+#+#+#+#+ +#+ */
-/* Created: 2024/04/13 15:25:05 by dkaiser #+# #+# */
-/* Updated: 2024/04/13 16:27:05 by dkaiser ### ########.fr */
-/* */
-/* ************************************************************************** */
-
-#include "libft/ft_printf.h"
-#include "libft/libft.h"
-#include "push_swap.h"
-#include <stdlib.h>
-
-static void sort_array(int size, int *tmp_array)
-{
- int i;
- int k;
- int tmp;
-
- i = 0;
- while (i < size - 1)
- {
- k = i + 1;
- while (k < size)
- {
- if (tmp_array[i] > tmp_array[k])
- {
- tmp = tmp_array[i];
- tmp_array[i] = tmp_array[k];
- tmp_array[k] = tmp;
- }
- k++;
- }
- i++;
- }
-}
-
-static void override_stack(t_list **stack, int *tmp_array)
-{
- t_list *cur;
- int content;
- int i;
-
- cur = *stack;
- while (cur)
- {
- i = 0;
- content = *(int*)cur->content;
- while (content != tmp_array[i])
- i++;
- *(int*)cur->content = i;
- cur = cur->next;
- }
-}
-
-void stack_optimize(t_list **stack)
-{
- int size;
- int *tmp_array;
- t_list *cur;
- int i;
-
- size = ft_lstsize(*stack);
- cur = *stack;
- tmp_array = malloc(size * sizeof(int));
- if (!tmp_array)
- ; // TODO: Error handling
- i = 0;
-
- while(cur)
- {
- tmp_array[i++] = *(int*)cur->content;
- cur = cur->next;
- }
- if (i != size)
- ; // TODO: Error handling
- sort_array(size, tmp_array);
- i = 0;
- override_stack(stack, tmp_array);
-}
diff --git a/stack_optimization.c b/stack_optimization.c
new file mode 100644
index 0000000..f41b44a
--- /dev/null
+++ b/stack_optimization.c
@@ -0,0 +1,80 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* optimization.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2024/04/13 15:25:05 by dkaiser #+# #+# */
+/* Updated: 2024/04/13 16:33:23 by dkaiser ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "push_swap.h"
+
+static void sort_array(int size, int *tmp_array)
+{
+ int i;
+ int k;
+ int tmp;
+
+ i = 0;
+ while (i < size - 1)
+ {
+ k = i + 1;
+ while (k < size)
+ {
+ if (tmp_array[i] > tmp_array[k])
+ {
+ tmp = tmp_array[i];
+ tmp_array[i] = tmp_array[k];
+ tmp_array[k] = tmp;
+ }
+ k++;
+ }
+ i++;
+ }
+}
+
+static void override_stack(t_list **stack, int *tmp_array)
+{
+ t_list *cur;
+ int content;
+ int i;
+
+ cur = *stack;
+ while (cur)
+ {
+ i = 0;
+ content = *(int *)cur->content;
+ while (content != tmp_array[i])
+ i++;
+ *(int *)cur->content = i;
+ cur = cur->next;
+ }
+}
+
+void stack_optimize(t_list **stack)
+{
+ int size;
+ int *tmp_array;
+ t_list *cur;
+ int i;
+
+ size = ft_lstsize(*stack);
+ cur = *stack;
+ tmp_array = malloc(size * sizeof(int));
+ if (!tmp_array)
+ ; // TODO: Error handling
+ i = 0;
+ while (cur)
+ {
+ tmp_array[i++] = *(int *)cur->content;
+ cur = cur->next;
+ }
+ if (i != size)
+ ; // TODO: Error handling
+ sort_array(size, tmp_array);
+ i = 0;
+ override_stack(stack, tmp_array);
+}