Originariamente inviato da Zeldic
.. Eh, infatti.. Devo ammettere che ho un po' di difficoltà nel comprendere alla base ciò che mi dice di fare il mio Prof, anche se gli esercizi sono apparentemente stupidi.. Ti chiedo scusa se non sono stata chiara abbastanza. Dunque, ciò che devo esattamente fare è semplicemente creare 2 liste (chiamate ad esempio 'l1' ed 'l2'); poi devo 'scorrere' la prima lista, da 'st' (il primo elemento, start), sino all'ultimo elemento, che salverò in una variabile chiamata 'tmp'

tmp = st; (inizialmente)
Semmai, tmp sarà uguale all'ultimo elemento a cui sei arrivata, non a st.
dopo la lettura di l1, lui mi ha detto di porre :

tmp = l2; /* Ma tanto per cambiare anche questa assegnazione non l'ho capita molto bene.. */

.. e così collego l'ultimo elemento della prima lista al primo della seconda.
Allora semmai sarà
codice:
tmp->next=l2;
in maniera tale da attaccare il primo elemento della seconda lista dopo l'ultimo della prima.
Con la operazione di 'Union', l2 diviene parte integrante di l1.. Ovvero, il risultato finale è che ciascun elemento di l2 apparterrà ad l1. Il nome stesso della lista ottenuta sarà 'l1'.
Certamente.
Infine mi ha detto che si dovrebbe cancellare la seconda lista l2 ( delete l2; ), dato che l'abbiamo accorpata ad l1, ma se non lo so fare, è meglio che lascio perdere, per evitare che io faccia ulteriori disastri.. :
In realtà non andrebbe cancellato, visto e considerato che l2 serve ancora ed è attaccato in fondo a l1.
Semmai si potrebbe fare l2=NULL per coerenza.
Chissà se non ci sia proprio il mio Prof. su questo forum.. Speriamo di no! Domani ho l'esame di Algo, dovrei sapere anche come si fa la visita di un grafo.. ed invece.. sono ancora qua, all'Unione delle liste.... :051:
Mai studiati i grafi, per cui non ti so aiutare; comunque, in bocca al lupo.