|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
[C] MergeList...k nn funziona
raga devo effettuare la fusione di due liste ordinate in un'unica lista...ho scritto la funzione ma non so perchè il risultato finale non è quello corretto...in particolare mi restituisce una o l'altra lista...senza fare la fusione:
Codice:
#include <stdio.h>
struct tipolista
{
int elem;
struct tipolista *next;
};
#define lista struct tipolista
//fonde due liste ordinate in una sola ordinata (con ripetizioni)
lista *mergeList_iter(lista *top1, lista *top2)
{
lista *testa; //puntatore alla testa della lista
lista *link; //puntatore all'elemento da collegare a
//top1 o top2 a seconda di chi è il minore
if (top1==NULL)
return top2;
else if (top2==NULL)
return top1;
else
{
if (top1->elem<=top2->elem)
{
testa=top1;
link=testa;
top1=top1->next;
}
else
{
testa=top2;
link=testa;
top2=top2->next;
}
}
while ((top1==NULL) && (top2==NULL))
{
if (top1->elem<=top2->elem)
{
link->next=top1;
top1=top1->next;
link=link->next;
}
else
{
link->next=top2;
top2=top2->next;
link=link->next;
}
}
if (top1==NULL)
link->next=top2;
else
link->next=top1;
return testa;
}
io è da poco che sto usando il C..ho sempre programmato in Pascal e VB...quindi non so bene come gestire i puntatori ed altre cosette in C...help me...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
questo ciclo
while ((top1==NULL) && (top2==NULL)) non funziona mai, il while continua fino a quando la condizione non è false, ma con il tuo ciclo (ed essendo top1 e top2 != NULL per le condizioni precedenti) è come se facessi while (FALSE && FALSE) cioè while (FALSE) e quindi non comincia mai. La soluzione corretta è while ((top1 != NULL) && (top2 != NULL)) Ultima modifica di kk3z : 25-11-2005 alle 20:08. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
cavolo hai ragione
che idiota non l'avevo notato, ti ringrazio...ovviamente adesso funziona tutto
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1453
|
Quote:
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Quote:
in ogni caso ho risolto ed ho fatto tutto l'esercizio
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:04.



















