Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Scienze Matematiche Fisiche e Naturali
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Aniello Murano » 6.Esercitazione di Laboratorio su Stack e Code


Esercizio: Prima parte

Si implementino in Linguaggio C una libreria per la gestione di uno Stack che possa contenere al più MAX elementi.

Si implementino in Linguaggio C una libreria per la gestione di una Coda che possa contenere al più MAX elementi.

Esercizio: Seconda parte

Si implementi inoltre una libreria in linguaggio C per la gestione di una coda di MAX elementi utilizzando la libreria per Stack precedentemente implemen-tata.

In particolare, questa libreria deve prescindere “il più possibile” dal modo in cui sono stati implementati gli stack.

Discutere sulle eventuali cambiamenti di complessità di dequeue e enqueue in questa nuova implementa-zione rispetto alle implementazioni viste nella lezione precedente.

Una Possibile Soluzione al II esercizio

Siano H e T sue Stack tali che la coda sia il risultato della concatenazione dello Stack H (partendo dal Top al Bottom) con lo Stack T (dal Bottom al Top).

Nella situazione iniziale, tutti gli elementi sono posti nello Stack H dove l’elemento al Top è la testa (Head) della coda, mentre quello al Bottom rappresenta la fine della coda (Tail).

Quando H è vuoto allora si svuota il rewerse di T in H. In dettaglio, per ogni elemento di T, si farà il Pop in T e il Push in H, fino a quando T non diventa vuoto.

Per cancellare un elemento dalla coda, si farà un POP dallo stack H, il quale non sarà mai vuoto a meno che l’intera coda non diventi vuota.

Per inserire un elemento nella coda si fa un Push nello Stack T.

Esercizio III parte

Scrivere un programma in linguaggio C per la gestione di code che possa funzionare indipendentemente da quale delle due librerie precedentemente definite venga utilizzata.

Attenzione: L’implementazione deve avvenire modificando “al minimo” il main() già implementato per la gestione delle code visto nella precedente lezione.

Domanda: Quante volte ciascun elemento sarà oggetto di un Push e di un Pop prima di lasciare la coda?

L’esercizio completo va consegnato via mail al tutor entro 5 giorni lavorativi allegando un breve documentazione (1-2 pagine).

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion