Witam,
Mam dwie listy jednokierunkowe:
1 lista : 1-2-3
2 lista: 4-5
Chcę podpiąć koniec listy 1 do początku listy drugiej - bez tworzenia trzeciej listy - Problem wydaję mi się banalny i nie rozumiem skąd bierze się problem:
void connect(struct Node * head1, struct Node * head2)
{
while(head1)
{
head1=head1->link; //dochodze do konca listy 1
}
head1->link = head2; // lacze z lista 2 -> ERROR
displayLL(head1);
}
/////////////////////////////////////////////
2] Czy ktoś mógłby wytłumaczyć dlaczego dla funkcji dodającej nowy bloczek w liście, używamy wskaźnik na wskaźnik?
void addNode(struct Node **head) //wskaznik na liste
{
int wartosc=0;
struct Node * y = malloc(sizeof(struct Node)); //tworze nowy bloczek
printf("Jaka wartosc chcesz dodac do listy?\n");
scanf("%d",&wartosc);
y->Data=wartosc; //wpisuje do niego wartosc
y->link =*head; // nowemu bloczkowi przypisujemy next - adres do kolejnego bloczka przechowywany przez head
*head=y;
}