 |
maynard80 |
[c] cancellazione elementi selezionati |
30-09-2005 18:27 |
|
 |
maynard80 |
.novellino.

Registered: Jul 2007
Posts: 3 (0.00 al dì)
Location: Milano (e non interland, tendo a precisare)
Corso: informatica
Anno: SESTO
Time Online: 12 Days, 14:28:38 [...]
Status: Offline
Edit | Report | IP: Logged |
[c] cancellazione elementi selezionati
ragazzi scusate sono nel pallone, mi dite come cancellare gli elementi di una lista?
la liste è formata da nodi del tipo
struct nodo{
int x;
int y;
struct nodo *next;
}
voglio cancellare dalla lista tutti i nodi la cui x è n
nodo *cancellaSelezionati(*struct nodo head, int n);
storincoglionendo,pleaseee!
__________________
msn Messenger: giamma80 at tiscali.it
ATHENA !
|
30-09-2005 18:27 |
|
|
|  |
 |
Skilotto83 |
boh...metti il puntatore dell'elemento n-esimo del ... |
30-09-2005 19:39 |
|
 |
Skilotto83 |
..Energia positiva...

Registered: Jun 2003
Posts: 1608 (0.20 al dì)
Location: Arconate
Corso: Informatica
Anno: LAUREATO!!!
Time Online: 15 Days, 6:32:44 [...]
Status: Offline
Edit | Report | IP: Logged |
boh...metti il puntatore dell'elemento n-esimo della lista a null...
Una roba del genere...
__________________
"Why, Sir, you find no man at all intellectual who is willing to leave London.
No, Sir, when a man is tired of London, he is tired of life; for there is in London all that life can afford."
(DR SAMUEL JOHNSON 1777)
MSN andrea.poretti(at)hotmail.it
|
30-09-2005 19:39 |
|
|
|  |
 |
yeah |
[code]
... |
30-09-2005 19:55 |
|
 |
yeah |
.grande:maestro.

Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
code:
nodo *cancella_selezionati(struct nodo *head, int n)
{
struct nodo *found;
while(head->next)
if(head->next->x == n)
{
found = head->next;
head->next = head->next->next;
free(found);
}
return head; /* o cur... non so cosa possa essere più utile */
}
Due considerazioni:
- inizia il controllo dal secondo nodo in lista; questo è un problema derivante dal fatto che non ho ancora trovato un modo per gestire il primo elemento di una lista concatenata.
- non ritorna niente di utile, visto che può cancellare 0 o più nodi
Tutto questo assolutamente non testato 
[edit] Manca qualcosa...
[edit2] Ora dovrebbe esserci tutto...
[edit3]No, ci sono degli errori...
[edit4]Ora dovrebbe essere a posto 
__________________
?
Last edited by yeah on 30-09-2005 at 20:22
|
30-09-2005 19:55 |
|
|
|  |
 |
DeepBlue |
queste slide potrebbero tornarti molto utili:
... |
30-09-2005 20:27 |
|
|
|  |
 |
yeah |
Vedo che in quelle slide si usa la seconda delle d ... |
01-10-2005 01:36 |
|
 |
yeah |
.grande:maestro.

Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline
Edit | Report | IP: Logged |
Vedo che in quelle slide si usa la seconda delle due possibilità:
- oggetto 'finto': serve da testa della lista, non memorizza nessun valore;
- puntatore: la lista è iniziata da un puntatore
Personalmente il problema con il secondo tipo è che (primo esempio che mi viene in mente) nel caso:
[ptr] -> [el1] ->[el2]
per eliminare el1 bisogna tener conto del fatto che a sinistra c'è solo un puntatore e non un elemento completo.
Cmq rileggerò le slide con più attenzione Grazie
__________________
?
|
01-10-2005 01:36 |
|
|
|  |
 |
All times are GMT. The time now is 19:55. |
|
|
 |
|
 |
|
|
|  |
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
|
|
|
|
|
|