Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Liste

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178

    Liste

    Salve a tutti,

    sto studiando le liste in java e nello specifico devo creare una pila. Non ho capito come funziona il metodo push (cioè quello che inserisce un nuovo nodo nella lista)

    questo è il metodo:

    codice:
    public void push(E element) 
    {
      Node<E> v = new Node<E>(element,top);
      top = v;
      size++;
    }
    Allora creo un nodo con new Node e metto l'elemento all'interno del nodo. Poi con

    top =v;

    porto il puntatore in testa alla lista. La cosa che non ho capito è questa:

    come fa il nuovo nodo (creato) a puntare a quello precedente ?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    come fa il nuovo nodo (creato) a puntare a quello precedente ?
    Tramite il secondo parametro del costruttore di Node. Che si presuppone rappresenti e setti il "next" del nodo, chiaramente.
    Ultima modifica di andbin; 05-10-2015 a 18:28
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Tramite il secondo parametro del costruttore di Node. Che si presuppone rappresenti e setti il "next" del nodo, chiaramente.
    ma top, in quel caso cosa rappresenta ? Come fa Node a capire che top è un puntatore che punta al nodo precedente? Top non dovrebbe essere un puntatore che punta al primo nodo ? Io ho creato le liste in C, ma in Java non riesco a capire il loro funzionamento.
    Ultima modifica di Bombonera; 05-10-2015 a 21:38

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    ma top, in quel caso cosa rappresenta ?
    Il nodo "al top" (della pila) che c'è in quel momento, cioè appena poco prima di invocare il costruttore di Node.

    Quote Originariamente inviata da Bombonera Visualizza il messaggio
    Come fa Node a capire che top è un puntatore che punta al nodo precedente?
    Node ha solo il campo del dato e del "next" (o "successivo" o come l'hai chiamato) .. non "sa" nulla di top, liste, pile o altro.
    È il push (della pila) che ha questa nozione.

    prima della invocazione del costruttore
    codice:
            +------------+
    top --->|elem / next-|---> ......
            +------------+

    dopo la invocazione del costruttore e prima del top = v;
    codice:
                            +------------+
                    top --->|elem / next-|---> ......
                         /  +------------+
                        /
     +------------+    /
     |elem / next-|----
     +------------+
      (nuovo nodo)

    dopo il top = v;
    codice:
                                    +------------+
                                 -> |elem / next-|---> ......
                                /   +------------+
                               /
            +------------+    /
    top --->|elem / next-|----
            +------------+
    Ultima modifica di andbin; 05-10-2015 a 21:53
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    178
    ho capito tutto!!!

    grazie mille!!! come sempre le tue spiegazioni sono ECCEZIONALI!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.