sì, c'è quanche errore, ho provato a correggerli, ciao
codice:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct nodo_coda
{
int d;
struct nodo_coda *next;
};
struct coda
{
struct nodo_coda *testa;
struct nodo_coda *coda;
int num_elem;
};
typedef struct nodo_coda nodo;
typedef struct coda coda;
void enqueue(coda *c, int el)
{
nodo *n = (nodo *) malloc(sizeof(nodo)); // alloco spazio per il nuovo elemento
n->d = el; // inserisco il valore passato come input al nuovo elemento
n->next = NULL;
if (!c->testa) // se la pila non ha elementi entra nell'if...
{
c->testa = n;
c->coda = c->testa;
}
else //...altrimenti...
{
c->coda->next = n;
c->coda = n;
}
c->num_elem++;
}
int main (int argc, const char * argv[]) {
coda mia_coda ;
// all'inizio non ha nè capo nè coda
mia_coda.testa = NULL ;
mia_coda.coda = NULL ;
mia_coda.num_elem = 0 ;
enqueue (&mia_coda, 1);
enqueue (&mia_coda, 2);
enqueue (&mia_coda, 3);
enqueue (&mia_coda, 4);
enqueue (&mia_coda, 5);
nodo *n=mia_coda.testa;;
while (n) {
printf("%d\n", n->d);
n=n->next;
}
return (0);
}