PDA

Visualizza la versione completa : Simulazione lista in C


gabama
10-06-2009, 20:46
Avrei bisogno esempi di simulazione liste in C,sapete dove ne posso trovare?Oppure posso postare un esempio per vedere se corretta la mia procedura?

MrX87
10-06-2009, 21:55
in che senso simulazione liste in C?? se hai provato a implementare le liste...posta che diamo un'occhiata!!

gabama
10-06-2009, 23:03
intanto grazie Mrx87 per la risposta
intendevo l' esecuzione di una funzione tramite i record di attivazione.Allora domani posto un esempio

gabama
11-06-2009, 10:26
ecco ad esempio un codice,
int f(int *a, int i, node *lis)
{
int x;int z=0;
if (lis == NULL) return(0);
else if (lis->data > i)
{*a=(*a)+1 ; printf("a%d\n",*a);

z=(f(a,i+1,lis->next));printf("z %d\n",z);return z;}

else if (lis->data <i)
{x=f(a,i,lis->next);printf("x %d\n",x); *a=(*a)+x; return(x);}

else return(*a);
}

dal main int x=0; int y=3;

e se si deve invocare la funzione con 9->8->7->6 si avranno i campi
a
i 3
lis 9
x
z

lis ->data>i,si stampa a=1 e si va al valore successivo incrementando i di uno.Cosa bisogna per inserire in z? 1?
E' molto importante!

MrX87
11-06-2009, 20:40
bh intanto se magari postavi il codice negli appositi tag per i codici era meglio e soprattutto pi leggibile...inoltre una cosa che non capisco perch fai il return della variabile a che hai dichiarato come puntatore a int?!?!?! cio se la passi per riferimento inulite fare return!!


return(*a);

forse non ho capito bene io...ma dando una occhiata mi parso cos!

gabama
11-06-2009, 20:51
MrX87 il codice mi stato dato,devo solo fare la "simulazione",mi scuso per non averlo messo subito nei tag


int f(int *a, int i, node *lis)
{
int x;int z=0;
if (lis == NULL) return(0);
else if (lis->data > i)
{*a=(*a)+1 ; printf("a%d\n",*a);

z=(f(a,i+1,lis->next));printf("z %d\n",z);return z;}

else if (lis->data <i)
{x=f(a,i,lis->next);printf("x %d\n",x); *a=(*a)+x; return(x);}

else return(*a);
}

Loading