Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Array di pile
Forum - C/C++ - Array di pile

Avatar
konan_ 65 (Normal User)
Newbie


Messaggi: 19
Iscritto: 20/12/2011

Segnala al moderatore
Postato alle 22:37
Giovedì, 09/02/2012
Ciao a tutti, dovrei, per una tesina, implementare un'array di pile e cancellarne le occorrenze. ora ho 2 domande:
1) come implemento un'array di pile? io pensavo a qualcosa tipo questa
Codice sorgente - presumibilmente C++

  1. #define MAX 10
  2.  
  3. struct cella{
  4.     char valore;
  5.     struct cella *next;
  6. };
  7.  
  8. struct cella *pila = NULL;
  9.  
  10. struct cella elenco[MAX];


ma così non vado ad implementare un semplice array di liste?

2) come cancello le occorrenze dall'array di pile? (supponiamo che il tutto sia implementato e compilato a dovere) che funzione dovrei usare? perchè da quanto ho capito pop() mi elimina l'elemento che controlla dalla lista, ma non lo cancella fisicamente, dovrei usare free()?
a domanda diretta il prof mi ha risposto così
"si intende la cancellazione di un elemento tutte le volte che si presenta all'interno di una delle pile dell'array

le pile vanno gestite con le funzioni push e pop, si possono usare tutte le strutture di appoggio che si ritengono opportune"

help me please!!

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 11:48
Venerdì, 10/02/2012
La pila è implementabile attraverso una lista. La funzione push(x) inserisce un elemento in testa alla pila, mentre pop() elimina la testa, la sostituisce con l'elemento successivo, e restituisce il valore contenuto nella testa appena rimossa. Un'altra funzione utile è peek(), che restituisce il valore contenuto nella testa, senza modificare la pila.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM