Salve a tutti,
Sono uno studente di informatica alle prese col corso di Algoritmi e Strutture Dati. Stiamo implementando in previsione dell'esame una serie di strutture dati ma dopo aver proceduto più o meno tranquillamente finora mi sono scontrato con questa benedetta ArraySequence.
Questa è l'interfaccia che andrebbe implementata:
Lo scopo dell'esercizio è utilizzare un array circolare (quindi gestendo testa e coda tramite due indici) che per ogni posizione memorizzi un oggetto Position, il a sua volta contiene l'elemento e il suo indice.codice:package interfacce; import eccezioni.BoundaryViolationException; import eccezioni.EmptySequenceException; import eccezioni.InvalidPositionException; /** * Title: Sequence.java</p> * * Description: interfaccia di Sequence. * Il TDA Sequence e` un TDA per la rappresentazione di un insieme ordinato. * Fornisce le funzionalita` dei TDA Node list e Array list. E` possibile fare * riferimento ad un elemento sia attraverso il suo indice che attraverso la sua * posizione.</p> * * * @author Vito Cuozzo (556/000181) * @version 1.0 */ public interface Sequence<E> extends PositionList<E>, IndexList<E>{ public E getFirst() throws EmptySequenceException; //stessa funzionalità di first() (PositionList) ma il valore di ritorno è un elemento e non una posizione public E getLast() throws EmptySequenceException; //stessa funzionalità di last() (PositionList) ma il valore di ritorno è un elemento e non una posizione public void insertFirst(E elem); //stessa funzionalità di addFirst() (PositionList) ma non ha valore di ritorno public void insertLast(E elem); ////stessa funzionalità di addLast() (PositionList) ma non ha valore di ritorno public E removeFirst() throws EmptySequenceException; //rimuove il primo elemento della sequenza public E removeLast() throws EmptySequenceException; //rimuove l'ultimo elemento della sequenza //metodi ponte public Position<E> atIndex(int index) throws BoundaryViolationException; //restituisce la posizione dell'elemento di indice index public int indexOf(Position<E> p) throws InvalidPositionException; //restituisce l'indice dell'elemento in posizione p //non è necessario definire i metodi d'iterazione per Sequence perché la sua interfaccia estende PositionList //e IndexList che possiedono già i suddetti metodi }
Spero di essere stato sufficientemente chiaro (anche se non penso proprio!) e spero soprattutto che qualche anima pia riesca a darmi una mano, perché non so davvero da dove iniziare...

) e spero soprattutto che qualche anima pia riesca a darmi una mano, perché non so davvero da dove iniziare...
Rispondi quotando