void swap_elem(t_list **list, t_list *tmp)
{
t_list *tmp_nn;
t_list *tmp_p;
t_list *tmp_n;
tmp_p = tmp->prev;
tmp_n = tmp->next;
tmp_nn= tmp_n->next;
if (*list = tmp)
*list = tmp_n;
tmp->next = tmp_nn;
tmp->prev = tmp_n;
if (tmp_nn)
tmp_nn->prev = tmp;
tmp_n->next = tmp;
tmp_n->prev = tmp_p;
if (tmp_p)
tmp_p->next = tmp_n;
}
void sort_list(t_list **list)
{
int flag;
t_list *tmp;
flag = 0;
if (list)
{
while (flag == 0)
{
tmp = *list;
flag = 1;
while (tmp->next)
{
if (my_strcmp(tmp->data,tmp->next->data) > 0)
{
swap_elem_e(list, tmp);
flag = 0;
}
else
tmp = tmp->next;
}
}
}
}