Trocar nós em uma lista vinculada
stou tentando trocar dois nós adjacentes em uma lista vinculada e acho que entendo a idéia de como fazê-lo usando um nó temporári
Aqui está minha função de troca de estrutura
struct part {
char* name;
float price;
int quantity;
struct part *next;
};
typedef struct part partType;
partType *swap_node(partType **item) {
partType *temp;
temp = *item;
*item = (*item)->next;
temp->next = (*item)->next;
(*item)->next = temp;
return *item;
}
Não consigo pensar em como fazer com que o nó anterior na lista aponte para o novo nó trocado. Preciso de outra variável temporária? Além disso, como explico o caso de os dois nós a serem trocados serem os dois primeiros da list