Oppure

Loading
09/02/12 21:37
konan_ 65
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
#define MAX 10

struct cella{
    char valore;
    struct cella *next;
};

struct cella *pila = NULL;

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!!
aaa
10/02/12 10:48
Il Totem
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.
aaa