Blog del corso di Programmazione (9 CFU) tenuto da Marco La Cascia presso l'Universita' di Palermo per il corso di laurea in Ingegneria Informatica e delle Telecomunicazioni. Tratta la programmazione a oggetti in Java.
Salve professore volevo da lei un chiarimento riguardo al 5° esercizio di questa esercitazione, vale a dire l'esercizio sulla pila. volevo innanzitutto capire se la pila di cui si parla è una struttura di dati o meno,come si implementa o come in alternativa come dovremmo trattarla. la classe in poche parole dovrebbe verificare se la classe è vuota,allora può inserire elementi,altrimenti se è piena deve prima rimuovere e poi inserire? in attesa di un suo chiarimento la ringrazio sin d'ora
Una pila, o stack, è una semplice struttura dati in cui i dati vengono inseriti ed estratti secondo una logica LIFO (Last In First Out). A differenza di strutture dati più complesse come liste o alberi una può essere implementata banalmente con un vettore di dimensione fissa (la dimensione massima dello stack) e un intero che indica lo stack pointer (SP). Inizialmente la pila è vuota e lo SP è a 0. All'inserimento si inserisce il valore nell'array nella posizione indicata dallo SP e si incrementa SP. All'estrazione si prende il valore nell'array a SP-1 e si decrementa SP. Per verificare stack pieno o stack vuoto basta verificare che SP sia rispettivamente 0 o 100.
Salve professore volevo da lei un chiarimento riguardo al 5° esercizio di questa esercitazione, vale a dire l'esercizio sulla pila.
RispondiEliminavolevo innanzitutto capire se la pila di cui si parla è una struttura di dati o meno,come si implementa o come in alternativa come dovremmo trattarla.
la classe in poche parole dovrebbe verificare se la classe è vuota,allora può inserire elementi,altrimenti se è piena deve prima rimuovere e poi inserire?
in attesa di un suo chiarimento la ringrazio sin d'ora
Una pila, o stack, è una semplice struttura dati in cui i dati vengono inseriti ed estratti secondo una logica LIFO (Last In First Out). A differenza di strutture dati più complesse come liste o alberi una può essere implementata banalmente con un vettore di dimensione fissa (la dimensione massima dello stack) e un intero che indica lo stack pointer (SP).
RispondiEliminaInizialmente la pila è vuota e lo SP è a 0. All'inserimento si inserisce il valore nell'array nella posizione indicata dallo SP e si incrementa SP. All'estrazione si prende il valore nell'array a SP-1 e si decrementa SP. Per verificare stack pieno o stack vuoto basta verificare che SP sia rispettivamente 0 o 100.