Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Anteprima
Esempi di ADT
Esercizi
Nicola Drago
Java alloca le variabili principalmente nello stack, di conseguenza quando un metodo/funzione finisce le variabili vengono eliminate.
Nicola Drago
STACK
Int base Int altezza Main (...) Int b = 20 Int a = 10 feneProgramma
double area(int base, int altezza) { return((base * altezza) / 2 ); } public static void main(String args[]){ int a = 10; int b = 20; System.out.println(area(a,b)); } }
Nicola Drago
...
Java pu allocare anche variabili nellHEAP ovvero in unarea dinamica. Lo Heap in generale non ha problemi di dimensioni. Java al contrario di altri linguaggi, possiede un meccanismo di garbage collection automatico, non necessita il recupero della memoria dallo HEAP
Nicola Drago 5
Java alloca le variabili nellHEAP tramite loperatore new (come la maggior parte degli altri linguaggi). In genere (ma non sempre) le variabili puntatore sono dichiarate tramite le []. Di conseguenza i vettori e tutti i tipi classi sono allocati dinamicamente nellHEAP!
Nicola Drago 6
...
20
Int h [ ] Int b [ ] feneProgramma
... ...
8
...
10
Nicola Drago
Nicola Drago
HEAP
...
20
... ...
10
...
Nicola Drago
11
...
20
Int h [ ] Int b [ ] feneProgramma
... ...
12
...
Nicola Drago
Nicola Drago
13
Nicola Drago
15
ADT pila
Costruire un ADT che rappresenti una pila (Stack) di numeri interi. (tipo int).
20
... ...
Nicola Drago 18
10
ADT pila
Costruire un ADT che rappresenti una pila (Stack) di numeri interi. (tipo int). Devono essere implementati i seguenti metodi: Costruttori
Vuoto Da intero rappresenta la dimensione della pila int pop() restituisce lelemento in cima alla pila int top() restituisce lelemento in cima alla pila void push(int) inserisce un elemento nella pila boolean empty() vero se la pila vuota boolean full() vero se la pila piena
19
Nicola Drago
ADT pila
Consiglio:
Si valuti lutilizzo di un array ( [ ] ) come struttura dati per immagazzinare i gli interi della pila. Si valuti la possibilit ampliare la pila in fase di esecuzione qualora venga saturato larray.
Scrivere una classe TEST per provare ADT pila preparato. Documentare tramite JAVADOC tutti i metodi della classe pila.
Nicola Drago 20
int reValue() restituisce un int int imValue() restituisce un int void print() stampa a video i 2 numeri void sum(complex c) somma un complesso void sub(complex c) somma un complesso void mul(complex c) somma un complesso int mod() restituisce il modulo del numero complesso
21
Nicola Drago
ADT coda
Costruire un ADT che rappresenti una coda (FIFO) di numeri interi. (tipo int). Devono essere implementati i seguenti metodi: Costruttori
Vuoto Da intero rappresenta la dimensione della coda int extract() restituisce lelemento in cima alla coda int top() restituisce lelemento in cima alla coda void insert(int) inserisce un elemento nella coda boolean empty() vero se la coda vuota boolean full() vero se la coda piena
22
Nicola Drago
ADT coda
Costruire un ADT che rappresenti una coda (FIFO) di numeri interi. (tipo int).
20
...
Nicola Drago
23
ADT coda
Costruire un ADT che rappresenti una coda (FIFO) di numeri interi. (tipo int).
Nicola Drago
24
ADT coda
Costruire un ADT che rappresenti una coda (FIFO) di numeri interi. (tipo int). Devono essere implementati i seguenti metodi: Costruttori
Vuoto Da intero rappresenta la dimensione della coda int extract() restituisce lelemento in cima alla coda int top() restituisce lelemento in cima alla coda void insert(int) inserisce un elemento nella coda boolean empty() vero se la coda vuota boolean full() vero se la coda piena
25
Nicola Drago