Ecco le interfacce (che secondo me hanno qualche errore)codice:Si realizzino due classi che implementino le interfacce Node e LinkedList (descritte nella pagina seguente) e che siano in grado gestire un insieme attraverso l'uso di una lista linkata semplice. Si scriva in seguito un programma Java che, utilizzando la nuova classe per la gestione di un insieme, prenda in input un file contenente una sequenza di terne, del tipo (a,b,c), e scriva in un file di output la medesima sequenza in cui le terne sono state riordinate, in senso non decrescente, in base al valore degli elementi contenuti nelle terne (ordinare sul primo valore; in caso di valore uguale ordinare sul secondo valore; in caso di uguaglianza dei primi due valori ordinare sul terzo valore). Input Il file di input contiene una sequenza di terne. Ogni terna č del tipo (a,b,c), dove a,b e c sono degli interi di due cifre compresi tra 00 e 99. La prima riga del file di input contiene il numero di terne presenti nel file. Output Il file di output contiene la sequenza riordinata delle terne presenti nel file di input.
Sorvolando sui miei commenti ironici dovuti alla pazienza, che penso sia in vacanzacodice:public interface Node { public Node getNext(); // ritorna il nodo successivo public void setNext(); // setta il valore del next //un parametro glielo mettiamo? public void setFirst(int i); // setta il primo val della terna public void setSecond(int i); // setta il secondo val della terna public void setThird(int i); // setta il terzo val della terna public int getFirst(int i); // ritorna il primo val della terna //errore, non prende parametri public int getSecond(int i); // rit. il secondo val della terna //errore, non prende parametri public int getThird(int i); // ritorna il val della terna //non prende parametri!!!!!! } public interface LinkedList { // ritorna true se la lista č vuota public boolean isEmpty(); // ritorna true se node č la testa della lista public boolean isHead(Node node); // ritorna true se node č la coda della lista public boolean isTail(Node node); // aggiunge un nuovo elemento alla lista public void add(Node node); // ritorna l'elemento pił piccolo della lista public void getMin(); //void???? // ritorna l'elemento pił grande della lista public void getMax(); //void??? // ritorna la testa della lista public Node getHead(); // ritorna la coda della lista public Node getTail(); // ritorna la dimensione della lista public long getSize(); }![]()
Il mio problema č come interpretare alcune cose.
Intanto per il setNext() credo ci si possa passare semplicemente un Node. Ma per quanto riguarda i metodi getMin e getMax, a parte che non possono essere void, ma poi cosa si intende? min e max rispetto a che cosa?
Come faccio a determinare su nodi che contengono triplette un minimo o un massimo?
Mi sapreste dare un suggerimento su come fare un inserimento ordinato?
Il problema č che non ho un valore per ogni nodo, ma una terna...da ordinare facendo si che:
"le terne
sono state riordinate, in senso non decrescente, in base al valore degli elementi
contenuti nelle terne (ordinare sul primo valore; in caso di valore uguale ordinare sul
secondo valore; in caso di uguaglianza dei primi due valori ordinare sul terzo
valore)."
![]()

Rispondi quotando