Strona 1 z 1

Scalanie list jednokierunkowych bez ich modyfikacji

: 13 września 2010, 22:14
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ć.

: 14 września 2010, 06:41
autor: ryba84
drekkett pisze:Edycja:
Udało mi się to zrobić.

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