In particolare da questa seconda immagine si possono giā subito dedurre un po' di cose, che chiariscono il contesto e gli obiettivi (anche se ci sono ancora dei dubbi).Originariamente inviato da Darčios89
Intanto se tu mi sai dare qualche suggerimento, mi fa piacere visto che in generale sono negato in programmazione
http://www.allfreeportal.com/imghost...6Immagine2.JPG
1)
La interfaccia Node č stata pensata per essere "specializzata" per questo esercizio ben preciso, dove devi "modellare" una "tripla" di valori. Infatti Node dichiara i metodi setFirst() .... setThird() ... getFirst() .... che sono quelli per gestire i 3 valori.
Pertanto tutta questa gestione di Node e LinkedList č dedicata e specifica, quindi non per realizzare una lista linkata "generica" (nel senso che puō essere usata per qualunque tipo di oggetti).
Purtroppo vedo delle incongruenze in quella dichiarazione di Node:
a) c'č un void setNext(); che non ha alcun parametro. Se ricevesse un Node avrebbe senso .... cosė come si vede adesso no.
b) i metodi getXXX hanno un parametro int i. Questi "getter" non dovrebbero avere alcun parametro, quindi non si capisce perché c'č quel parametro che non ha alcun senso.
2)
La interfaccia LinkedList mi pare che "quadra" pių o meno, nel senso che anche qui vedo delle incongruenze e alcune cose poco chiare:
a) getMin()/getMax() dice: il pių piccolo e il pių grande della lista. Ma .... basato su che cosa il piccolo/grande?? E poi comunque questi due metodi hanno come tipo di ritorno void, quindi che "get" č se non ritorna nulla??
3)
Questi Node e LinkedList sono interfacce, quindi chiaramente devi creare delle classi che implementano queste interfacce.
Per implementare Node puoi creare una classe es. appunto Tripla. Quindi un oggetto Tripla č un nodo! Ed č chiaro che in Tripla ci devono essere le variabili di istanza per memorizzare i 3 valori e ovviamente anche il Node "next". Č la implementazione che deve appunto fornire lo "storage" di queste informazioni.
Per implementare LinkedList puoi creare una classe es. ListaTriple (cambia nome come vuoi o eventualmente se/come ti č stato suggerito). Al suo interno come "storage", cioč i campi di istanza che rappresentano il suo stato, dovrai avere come minimo il riferimento al Node di "head" (testa). Eventualmente anche il Node tail ma bisogna vedere come implementi la lista (potresti scegliere: scansiono la lista fino alla fine per avere il tail oppure tengo e aggiorno un tail man mano che aggiungo).
---
La mia impressione, comunque, č che o č stata fatta una svista (di stampa) pazzesca oppure chi ha scritto queste due interfacce non aveva le idee chiare ..... (io sarei per la seconda ... ma potrei sbagliarmi, anzi spero).