|
delleroby |
Aiutooooo |
16-09-2008 16:29 |
|
|
delleroby |
.amico.
Registered: May 2007
Posts: 30 (0.00 al dì)
Location:
Corso: nformatica
Anno: 1
Time Online: 1 Day, 6:01:22 [...]
Status: Offline
Edit | Report | IP: Logged |
Aiutooooo
Ragazzi mi sono incasinato su una cavolata incredibile....
come faccio a sapere se una lista è vuota???Vi faccio capire
ho usato una lista doppiamente puntata e questa condizione mi incasina tutto.....
if (nuovo->relazioni_colore == NULL)
potete aiutarmi???
cambiare ttt in liste unidirezionali è troppo lungo..
per favore aiuto.....
|
16-09-2008 16:29 |
|
|
| |
|
loreste |
scusa, se hai una lista bidirezionale o monodirezi ... |
16-09-2008 16:56 |
|
|
loreste |
.grande:maestro.
Registered: Jan 2003
Posts: 730 (0.09 al dì)
Location: Berghem
Corso: Informatica
Anno: -2 alla specialistica
Time Online: 8 Days, 5:47:53 [...]
Status: Offline
Edit | Report | IP: Logged |
scusa, se hai una lista bidirezionale o monodirezionale se la lista è vuota vuol dire che la lista è null, non ha senso nelle liste lasciare l'elemento che non contiene nulla....
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
|
16-09-2008 16:56 |
|
|
| |
|
delleroby |
giusto scusa....non mi sn spiegato bene...la lista ... |
16-09-2008 16:59 |
|
|
delleroby |
.amico.
Registered: May 2007
Posts: 30 (0.00 al dì)
Location:
Corso: nformatica
Anno: 1
Time Online: 1 Day, 6:01:22 [...]
Status: Offline
Edit | Report | IP: Logged |
giusto scusa....non mi sn spiegato bene...la lista è relazione_colore...che è contenuta in un'altro oggetto..
|
16-09-2008 16:59 |
|
|
| |
|
loreste |
non capisco....
... |
16-09-2008 17:13 |
|
|
loreste |
.grande:maestro.
Registered: Jan 2003
Posts: 730 (0.09 al dì)
Location: Berghem
Corso: Informatica
Anno: -2 alla specialistica
Time Online: 8 Days, 5:47:53 [...]
Status: Offline
Edit | Report | IP: Logged |
non capisco....
hai una lista che si chiama relazione_colore, all'interno che c'è?
Da come vedo io hai una lista che si chiama nuovo, ed al suo interno hai relazione_colore (cosa indica?)
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
|
16-09-2008 17:13 |
|
|
| |
|
delleroby |
no no la lista è relazione_colore l'altro è una ... |
16-09-2008 17:30 |
|
|
delleroby |
.amico.
Registered: May 2007
Posts: 30 (0.00 al dì)
Location:
Corso: nformatica
Anno: 1
Time Online: 1 Day, 6:01:22 [...]
Status: Offline
Edit | Report | IP: Logged |
no no la lista è relazione_colore l'altro è una struttura diversa.
guarda le operazioni che ho usato per creare e inserire nelle liste sono:
lista_colori *createlist(void)
{
lista_colori *q = malloc(sizeof(lista_colori));
if(!q) {
fprintf(stderr,"Errore di allocazione nella creazione della lista\n");
exit(-1);
};
q->next = q->prev = q;
return q;
}
/* inserisce un elemento in testa alla lista */
void *insert(lista_colori *p,colore *colore_relazione)
{
lista_colori *q = malloc(sizeof(lista_colori));
if(!q) {
fprintf(stderr,"Errore nell'allocazione del nuovo elemento\n");
exit(-1);
};
q->colore_lista = colore_relazione;
q->next = p->next;
p->next->prev = q;
p->next = q;
q->prev = p;
}
come faccio a capire se la lista è vuota?
|
16-09-2008 17:30 |
|
|
| |
|
loreste |
questa cosa non mi convince...
... |
16-09-2008 18:21 |
|
|
loreste |
.grande:maestro.
Registered: Jan 2003
Posts: 730 (0.09 al dì)
Location: Berghem
Corso: Informatica
Anno: -2 alla specialistica
Time Online: 8 Days, 5:47:53 [...]
Status: Offline
Edit | Report | IP: Logged |
questa cosa non mi convince...
q->next = q->prev = q;
vuol dire che next e prev puntano entrambe a q.....
io avrei fatto
q->next = q->prev = NULL
devi tenere un puntatore alla testa della lista e ogni elemento va aggiunto alla testa della linea, in questo modo potrai fare
dopo la calloc di q
//questo mi opare di capire che è il dato
q->colore_lista = colore_relazione;
q-> next = testadellalista;
q-> prev = NULL;
testadellalista-> prev = q;
//risistemo la testa della lista
teststadellalista = q;
a questo punto, per sapere se la lista è vuota, devi testare la testa
if (testadellalista == NULL){
listavuota;
}else{
lista piena (ho almeno un elemento
}
__________________
La Fede non retrocede mai!
Döma Atalanta!!!!!!!!
|
16-09-2008 18:21 |
|
|
| |
|
darkshadow |
mettiamo che ho dichiarato...
... |
16-09-2008 21:54 |
|
|
darkshadow |
Are You From The Past?
Registered: Jul 2007
Posts: 485 (0.08 al dì)
Location: Milano
Corso: Informatica Magistrale
Anno: 1
Time Online: 13 Days, 13:38:56 [...]
Status: Offline
Edit | Report | IP: Logged |
mettiamo che ho dichiarato...
lista_colori *_listaColori;
la condizione per sapere se la tua lista è vuota è la seguente:
if ( _listaColori->succ == _listaColori )      printf ("La lista è vuota");
else      printf ("La lista contiene elementi");
cmq se guardi nei vecchi progetti (tra i quali quello che ho fatto io) trovi degli esempi pratici sulle liste.
ciao.
DS
__________________
by Ð@rk§h@ÐØw
|
16-09-2008 21:54 |
|
|
| |
|
delleroby |
grazie mille a entrambi!! ... |
17-09-2008 10:15 |
|
|
delleroby |
.amico.
Registered: May 2007
Posts: 30 (0.00 al dì)
Location:
Corso: nformatica
Anno: 1
Time Online: 1 Day, 6:01:22 [...]
Status: Offline
Edit | Report | IP: Logged |
grazie mille a entrambi!!
|
17-09-2008 10:15 |
|
|
| |
|
All times are GMT. The time now is 16:29. |
|
|
|
|
|
|
|
| |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|