|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2003
Città: roma
Messaggi: 1629
|
lista doppiamente linkata in C
Sera a tutti,
ho un problema con questa lista....si compila e non da ne warning ne errori,ma quando la lancio si blocca il tutto e non so che fare consigli? Codice:
#include<stdio.h> #include<malloc.h> #include<stdlib.h> struct nodo{ int inf; struct nodo *succ; struct nodo *prec; }; //typedef struct nodo nodo; //nodo *lista; struct dlist { // tiene traccia di quanti nodi sono presenti all'interno della lista int count; // puntatore al primo nodo della lista struct nodo *testa; // puntatore all'ultimo nodo della lista struct nodo *coda; }; typedef struct nodo nodo; typedef struct dlist dlist; int main(){ int v[8]={12,14,14,15,3,3,6,8},prova=8,i; dlist *lista; nodo *pezzo; // la lista inizialmente non contiene elementi lista->count = 0; // sia la testa che la coda puntano inizialmente a NULL lista->testa = lista->coda = NULL; pezzo = malloc(sizeof(nodo)); pezzo->inf=v[0]; pezzo->succ=NULL; pezzo->prec = NULL; lista->testa = lista->coda = pezzo; // aumento il contatore dei nodi della lista lista->count++; // la lista contiene gia' almeno un elemento // aggancio il nuovo nodo alla fine della lista // dopo l'inserimento, il nuovo nodo sara' quindi il tailer della lista for(i=1;i<prova;i++){ pezzo->inf=v[i]; pezzo->succ=NULL; pezzo->prec= lista->coda; lista->coda->succ= pezzo; lista->coda = pezzo; printf("\n%d",pezzo->inf); lista->count++; } system("PAUSE"); } |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:31.