mic85rm
24-06-2013, 20:28
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?
#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");
}
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?
#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");
}