/* sort_stack Copyright (C) 2026 yctct This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "../include/push_swap.h" int find_smallest(t_list *stack) { int smallest; int position; smallest = stack->value; position = stack->index; while (stack) { if (stack->value < smallest) { smallest = stack->value; position = stack->index; } stack = stack->next; } return (position); } void move_smallest_value_dst(t_list **src, t_list **dst, int position_smallest_value) { int i; i = 0; if (position_smallest_value < ft_lstsize(*src)) while (i++ < position_smallest_value) ra(src); if (position_smallest_value > ft_lstsize(*src)) while (i++ < position_smallest_value) rra(src); pb(src, dst); } void reset_index(t_list *stack) { int i; i = 0; while (stack->next != NULL) { stack->index = i++; stack = stack->next; } stack->index = i; }