Scalanie list jednokierunkowych bez ich modyfikacji

Potrzebujesz pomocy z C, C++, perl, python, itp.
drekkett
Posty: 17
Rejestracja: 24 lipca 2008, 22:01

Scalanie list jednokierunkowych bez ich modyfikacji

Post autor: drekkett »

Witam.
Mam takie zadanie:
Niech K, L będą dwoma listami jednokierunkowymi struktur Pracownik o
polach char [20] (nazwisko) i unsigned (identyfikator).
Zbuduj funkcję:
Pracownik* dodaj_listy (Pracownik*, Pracownik*)
Która scala L z K i zwróci nowa scaloną listę M. Listy K, L winny
pozostać nienaruszone i niezależne od listy M.
Wykonałem dwie listy i scaliłem również, tyle tylko, że niestety pierwsza lista jest zmieniana. Oto mój kod:

Kod: Zaznacz cały

Pracownik * dodaj_listy (Pracownik * lista1, Pracownik* lista2)
{
	Pracownik *element;
	element=lista1;
	while(element->nastepny)
		{
		element=element->nastepny;
		}
	element->nastepny = lista2; 
	return lista1; 
}
Rozumiem czemu ta lista jest zmieniana, bo przypisujemy wskaźnikowi element, wskaźnik na listę. Jak zrobić, aby te listy nie były modyfikowane, bo siedzę nad tym już drugi dzień i pomysłu niestety mi brak.
Za pomoc z góry dziękuję.

Edycja:
Udało mi się to zrobić.
Awatar użytkownika
ryba84
Beginner
Posty: 340
Rejestracja: 08 lipca 2007, 14:55
Lokalizacja: LDZ

Post autor: ryba84 »

drekkett pisze:Edycja:
Udało mi się to zrobić.

To podziel się z innymi jak już założyłeś temat.
ODPOWIEDZ