Salve gente, stavo implementando una semplice classe lista giusto per capirne il funzionamento e mi sono imbattuto in un dubbio causato dalla grande confusione che faccio prendendo appunti a lezione.
Volevo semplicemente capire se il ragionamento che faccio è corretto, sostanzialmente ho una classe Elemento che contiene un valore e un puntatore all'elemento successivo, e ho una classe Lista che contiene due puntatori testa/coda ad Elemento.
Ho pensato di implementare un metodo aggiungiInCoda, vi riporto il codice
sostanzialmente crea un nuovo elemento, se la lista contiene già altri elementi sposta il successivo dell'ultimo elemento a tmp facendolo diventare l'ultimo elemento, il dubbio mi viene perché guardando il quaderno il mio coda = temp alla fine del metodo viene riportato nell'else dal professore, la domanda è: non devo comunque spostare la coda su tmp indipendentemente se la lista di partenza è vuota o contiene già qualche elemento?codice:void Lista::aggiungiInCoda (int v) { Elemento* tmp = new Elemento (v); if (coda) coda->succ = tmp; else testa = tmp; coda = tmp; }
Grazie in anticipo per il chiarimento!