Problem jest treści następującej: mam przykładowo łańcuch wejściowy składający się z:
struct node {
int value;
node* next;
};
nie rozumiem punktu, w którym do nowego łańcucha przypisywana jest wartość
while(in != NULL){ //in-łańcuch do rozdzielenia; out1,out2-łańcuchy na oderwane elementy
node* next = in->next;
// przepinaym element do odpowiednich lancuchow
if(isMultipleOfSquareOfPrimaryNumber(in->value)){ //warunek nieistotny w pytaniu
in->next = out1;
out1 = in;
}else{
in->next = out2;
out2 = in;
}
in = next;
}
nie rozumiem po co pod następny element in przypisujemy out1 lub out2 zdaje mi się że zwykłe doklejenie out1->next=in byłoby chyba wystarczające oczywiście po sprawdzeniu czy nie wstawiamy za NULLEM w wypadku NULL po prostu out1=in