ereinion.util
Class SLList

java.lang.Object
  |
  +--ereinion.util.SLList
All Implemented Interfaces:
Stack, Structure

public class SLList
extends java.lang.Object
implements Stack, Structure

La classe SLList (Single Linked List) � un contenitore che fornisce un buon numero di operazioni sugli elementi contenuti.

Particolarmente efficienti sono l'inserimento in testa ed in coda (poich� sono mantenuti dei puntatori al primo e ultimo elemento).

Anche efficiente la rimozione della testa [pop()].

Since:
EPR 1.0
Version:
1.1, 21/11/2002
Author:
Ereinion

Constructor Summary
SLList()
          Alloca un nuovo oggetto SLList inizialmente vuoto.
 
Method Summary
 void addToHead(java.lang.Object elem)
          Inserisce un elemento in testa alla struttura, l'ultimo elemento inserito in questo modo � il primo ad essere restituito da una pop().
 void addToTail(java.lang.Object elem)
          Inserisce un elemento in coda alla struttura, l'ultimo elemento inserito in questo modo � l'ultimo ad essere restituito da una pop()
 void clear()
          Rimuove tutti gli elemento della struttura
 boolean contains(java.lang.Object elem)
          Verifica la presenza di un elemento nella struttura.
 java.lang.Object elementAt(int index)
          Restituisce un elemento di posizione specificata, senza rimuoverlo dalla struttura.
 java.util.Enumeration elements()
          Restituisce una enumerazione degli elementi contenuti nella struttura; Deve garantire che l'ordine della restituzione deve essere lo stesso dell'ordine di inserimento degli elementi.
 java.lang.Object getHead()
          Rimuove l'elemento in testa alla struttura e lo restituisce.
 java.lang.Object getTail()
          Rimuove l'elemento in coda alla struttura e lo restituisce.
 int indexOf(java.lang.Object elem)
          Verifica la posizione di un elemento nella struttura.
 void insertAt(java.lang.Object elem, int index)
          Inserisce un elemento in posizione specificata nella struttura.
 boolean isEmpty()
          Verifica se la pila � vuota.
static SLList merge(SLList list1, SLList list2)
          Trasferisce tutti gli elementi di due liste in una terza lista, la politica di trasferimento prevede che siano prima inseriti tutti gli elementi della prima lista e poi tutti quelli della seconda, nell'ordine in cui si trovano.
 java.lang.Object peekHead()
          Restituisce l'elemento in testa alla struttura senza rimuoverlo.
 java.lang.Object peekTail()
          Restituisce l'elemento in coda alla struttura senza rimuoverlo.
 java.lang.Object pop()
          Rimuove l'ultimo elemento inserito nella pila tramite il metodo push(Object) e lo restituisce.
 void push(java.lang.Object elem)
          Inserisce un elemento nella pila, l'ultimo elemento inserito � il primo che viene restituito dal metodo pop().
 java.lang.Object removeAt(int index)
          Rimuove e restituisce un elemento di posizione specificata
 int size()
          Verifica le dimensioni della struttura
 void transferFrom(SLList otherList)
          Tutti gli elementi di una lista vengono trasferiti in questa.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SLList

public SLList()
Alloca un nuovo oggetto SLList inizialmente vuoto.

Method Detail

transferFrom

public void transferFrom(SLList otherList)
Tutti gli elementi di una lista vengono trasferiti in questa.

Parameters:
otherList - la lista da cui trasferire gli elementi.

merge

public static SLList merge(SLList list1,
                           SLList list2)
Trasferisce tutti gli elementi di due liste in una terza lista, la politica di trasferimento prevede che siano prima inseriti tutti gli elementi della prima lista e poi tutti quelli della seconda, nell'ordine in cui si trovano.

Returns:
la lista in cui sono stati trasferiti tutti gli elementi di l1 ed l2

elements

public java.util.Enumeration elements()
Description copied from interface: Structure
Restituisce una enumerazione degli elementi contenuti nella struttura; Deve garantire che l'ordine della restituzione deve essere lo stesso dell'ordine di inserimento degli elementi.

Specified by:
elements in interface Structure
Returns:
l'enumerazione degli elementi della struttura.

size

public int size()
Description copied from interface: Structure
Verifica le dimensioni della struttura

Specified by:
size in interface Structure
Returns:
un int rappresentante il numero di elemento contenuti.

addToTail

public void addToTail(java.lang.Object elem)
Description copied from interface: Structure
Inserisce un elemento in coda alla struttura, l'ultimo elemento inserito in questo modo � l'ultimo ad essere restituito da una pop()

Specified by:
addToTail in interface Structure
Parameters:
elem - l'elemento da inserire

addToHead

public void addToHead(java.lang.Object elem)
Description copied from interface: Structure
Inserisce un elemento in testa alla struttura, l'ultimo elemento inserito in questo modo � il primo ad essere restituito da una pop(). Si comporta come push().

Specified by:
addToHead in interface Structure
Parameters:
elem - l'elemento da inserire

clear

public void clear()
Description copied from interface: Structure
Rimuove tutti gli elemento della struttura

Specified by:
clear in interface Structure

indexOf

public int indexOf(java.lang.Object elem)
Description copied from interface: Structure
Verifica la posizione di un elemento nella struttura.

Specified by:
indexOf in interface Structure
Returns:
la posizione dell'elemento o -1 se l'elemento non � presente.

contains

public boolean contains(java.lang.Object elem)
Description copied from interface: Structure
Verifica la presenza di un elemento nella struttura.

Specified by:
contains in interface Structure
Returns:
true se l'elemento � presente o false se l'elemento non � presente.

removeAt

public java.lang.Object removeAt(int index)
Description copied from interface: Structure
Rimuove e restituisce un elemento di posizione specificata

Specified by:
removeAt in interface Structure
Returns:
l'elemento richiesto.

elementAt

public java.lang.Object elementAt(int index)
Description copied from interface: Structure
Restituisce un elemento di posizione specificata, senza rimuoverlo dalla struttura.

Specified by:
elementAt in interface Structure
Returns:
l'elemento richiesto.

insertAt

public void insertAt(java.lang.Object elem,
                     int index)
Description copied from interface: Structure
Inserisce un elemento in posizione specificata nella struttura. Se la posizione � maggiore delle dimensioni attuali della struttura viene inserito alla fine.

Specified by:
insertAt in interface Structure

getHead

public java.lang.Object getHead()
Description copied from interface: Structure
Rimuove l'elemento in testa alla struttura e lo restituisce. Si comporta come pop()

Specified by:
getHead in interface Structure
Returns:
l'elemento in testa alla struttura.

peekHead

public java.lang.Object peekHead()
Description copied from interface: Structure
Restituisce l'elemento in testa alla struttura senza rimuoverlo.

Specified by:
peekHead in interface Structure
Returns:
l'elemento in testa alla struttura.

peekTail

public java.lang.Object peekTail()
Description copied from interface: Structure
Restituisce l'elemento in coda alla struttura senza rimuoverlo.

Specified by:
peekTail in interface Structure
Returns:
l'elemento in testa alla struttura.

getTail

public java.lang.Object getTail()
Description copied from interface: Structure
Rimuove l'elemento in coda alla struttura e lo restituisce.

Specified by:
getTail in interface Structure
Returns:
l'elemento in testa alla struttura.

pop

public java.lang.Object pop()
Description copied from interface: Stack
Rimuove l'ultimo elemento inserito nella pila tramite il metodo push(Object) e lo restituisce.

Specified by:
pop in interface Stack
Returns:
l'ultimo elemento inserito nella pila, null se la lista � vuota.

push

public void push(java.lang.Object elem)
Description copied from interface: Stack
Inserisce un elemento nella pila, l'ultimo elemento inserito � il primo che viene restituito dal metodo pop().

Specified by:
push in interface Stack
Parameters:
elem - l'elemento da inserire

isEmpty

public boolean isEmpty()
Description copied from interface: Stack
Verifica se la pila � vuota.

Specified by:
isEmpty in interface Stack
Returns:
true se la pila � vuota, false se contiene almeno un elemento.