andbin ha scritto:
Il punto/problema è che nella tua Stack hai deciso di fare "esporre" all'esterno i nodi e la loro gestione. Questo rende molto più critica la gestione dello stack.
sfortunatamente non è stata una mia decisione.
a scuola stiamo facendo queste pile partendo da 0, e onestamente non ne vedo il senso pratico, anche perché la prof. ci ha presentato la questione usando solo degli int, quindi per poterla applicare, questa cosa,a un contesto più generale, come poi in teoria dovrebbe essere, le cose che stiamo facendo adesso andrebbero riprese in mano e modificate/riscritte da 0, e non la vedo una come una cosa esattamente bella.
per me, se avessimo trattato le liste in generale, quindi la linked, l'array etc, sarebbe stato molto più profiquo che perdere quasi 2 mesi su questa cosa, che onestamente mi ha messo in difficoltà a livello di codice, perché non son riuscito subito a figurarmi come dovrei scriverlo (non che ora sia messo molto meglio).
il disegnetto che hai fatto te, è lo stesso che la prof continua a spammare sulle lavagne ogni volta che abbiamo lezione ahaha anche se fatto più cartonesco
ora che mi hai chiarito ulteriormente le idee (onestamente, ora come ora, non ho idea di come gestire una pila senza esporre i nodi, quindi, anche se volessi fare qualcosa di un attimo più avanzato, ora non ne sarei in grado), volevo chiederti, forse me lo hai già spiegato tra le linee, ma io non ho colto nulla:
prendendo la mia attuale pila Stack<E>, e il mio attuale nodo Node<T>, io mi creo un nodo generico, e ci metto dentro il mio oggetto o. fin qua è limpido e ci sono.
quel nodo poi lo aggiungo allo stack. fin qua ancora tutto limpido.
quando poi però voglio usare il nodo che ho in testa, se faccio semplicemente getData(), della pila, mi dovrebbe tornare l'unico nodo che ho, e con esso l'oggetto che ci avevo messo dentro. se dopo il getData() della pila, voglio usare il mio oggetto, dovrò fare un altro getData(), ma questa volta del Node. fino a qui credo di essere bene o male nella strada giusta. ma allora perché non mi fa usare l'oggetto che sta dentro al nodo?
modifico il codice nel primo post con quello che ho ora.
p.s. voglio far notare che trovo inutile soffermarci su queste cose a livello pratico, la teoria sul come funzionano è sempre importante. voglio dire, non sarò esperto ma non riesco ad immaginare un caso dove io mi debba costruire da 0 una pila, evitando di usare quelle già presenti