Troque nós em uma lista vinculada individualmente
Eu estou tentando trocar dois nós. Por exemplo, se os nós sãoa
eb
Eu estou passando os ponteiros(a-1)->next
e(b-1)->next
que são basicamente nósa
eb
.
void swap(struct stack **a,struct stack **b)
{
struct stack *temp1 = *a, *temp2 = *b, *temp3 = *b;
*a = *b;
(*b)->next = (temp1)->next;
temp2 = temp1;
(temp2)->next = temp3->next;
}
O que estou fazendo de errado? Quando estou tentando imprimir os nós depois de chamar a função, é um loop infinito. Por favor ajude.