|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2006
Messaggi: 46
|
[C] per favore potete aiutarmi con le liste concatenate?
Ciao a tutti,ho un problema,in pratica non riesco a capire come funzionano queste benedette liste concatenate! Ora ho un programma che in pratica inserisce mano a mano i numeri nella lista,ed è questo:
#include <stdio.h> #include <stdlib.h> struct nodo *crealista(); void printlista(struct nodo *p); struct nodo { int dato; struct nodo *next; }; main() { struct nodo *start; start=crealista(); printlista(start); printf ("\n\n\n"); system("pause"); return 0; } struct nodo *crealista() { struct nodo *p,*start,*last; int i,n,x; start=NULL; printf ("quanti nodi ha la lista?"); scanf ("%d",&n); printf ("\n\n\ndigitare elementi:"); for (i=0;i<n;i++) { scanf ("%d",&x); p=(struct nodo *) malloc(sizeof(struct nodo)); if (i==0) start=p; else last->next=p; p->dato=x; p->next=NULL; last=p; } return (start); } void printlista(struct nodo *p) { printf ("\n\n\n"); while (p!=NULL) { printf ("%d --->",p->dato); p=p->next; } printf ("NULL\n"); return; } Purtroppo non riesco a capire proprio come funziona,soprattutto la parte della funzione "struct nodo *crealista" ... Potete aiutarmi magari spiegandomi come funzionano le liste e descrivendomi (per favore nel modo più chiaro possibile) come funziona il programma? Mi servirebbe anche solo la spigazione dell'intera funzione "struct nodo *crealista"... Grazie a tutti! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:55.



















