summaryrefslogtreecommitdiff
path: root/sorting.c
diff options
context:
space:
mode:
Diffstat (limited to 'sorting.c')
-rw-r--r--sorting.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/sorting.c b/sorting.c
index 88055e7..43dd541 100644
--- a/sorting.c
+++ b/sorting.c
@@ -6,7 +6,7 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/13 15:04:19 by dkaiser #+# #+# */
-/* Updated: 2024/04/26 18:35:27 by dkaiser ### ########.fr */
+/* Updated: 2024/04/27 14:36:06 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
@@ -28,18 +28,6 @@ static int is_sorted(t_stack *stack)
return (1);
}
-static void sort_three(t_psdata *data)
-{
- if (data->a->stack[1] > data->a->stack[0]
- && data->a->stack[1] > data->a->stack[2])
- run_command(data, RRA);
- else if (data->a->stack[0] > data->a->stack[1]
- && data->a->stack[0] > data->a->stack[2])
- run_command(data, RA);
- if (data->a->stack[0] > data->a->stack[1])
- run_command(data, SA);
-}
-
static void ps_radixsort(t_psdata *data, int bit)
{
int i;
@@ -69,6 +57,8 @@ void stack_sort(t_psdata *data)
run_command(data, SA);
else if (data->a->size == 3)
sort_three(data);
+ else if (data->a->size == 4 || data->a->size == 5)
+ sort_few(data);
else
ps_radixsort(data, 0);
}