Lista dynamiczna jednokierunkowa – przenoszenie elementów bez kopiowania

0

Czesc,
Mam do napisania zadanie w C. Najpierw musialem utowrzyc liste dynamiczna jednokierunkowa i uzupelnic ja danymi z pliku tekstowego. Nastepnie musialem utworzyc 4 kolejne listy dynamiczne i do nich przeniesc elementy z tej pierwszej listy, w zaleznosci od roznych parametrow.
I tu pojawia sie problem. Mam przenosic elementy z pierwszej listy, nie moge po prostu przekopiowywac wartosci. Kiedy probowalem to zrobic poprzez znak "=" (np pierwszy element listy 2 = pierwszy element listy 1) to wiadomo kopiowalem referencje i wszystko sie sypalo.
Wklejam fragment zadania istotny dla mojego problemu
"Nie alokuj nowych zmiennych dynamicznych reprezentujących pomiary i nie kopiuj żadnych danych, a jedynie wyjmuj elementy z jednej listy i dodawaj do jednej z pozostałych czterech. Na koniec działania lista źródłowa powinna być pusta."
Moglbym prosic i jakies rady jak to wykonac? Jak przeniesc wartosc z listy a nie wskaznik do elementu?

1

Dobrze robisz, tylko musisz jeszcze usunąć ten element z oryginalnej listy.

Jak masz listy H1 i H2:

H1 ⟶ el1 ⟶ el2 ⟶ el3 ⟶ null
H2 ⟶ null

i przenosisz element, np. el2, to w el1 musisz zmienić odniesienie "next" aby wskazywało na el3:

H1 ⟶ el1 ⟶ el3 ⟶ null
H2 ⟶ el2 ⟶ null

0

Dziekuje za pomoc, dam rade to zrobic :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1