diff options
Diffstat (limited to 'sorting.c')
| -rw-r--r-- | sorting.c | 16 |
1 files changed, 3 insertions, 13 deletions
@@ -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); } |
