PDA

View Full Version : [C] Problema liste


xbubbax
07-01-2008, 20:24
Questa semplice funzione dovrebbe eliminare l'ultima occorrenza di un numero k all'interno di una lista solo che invece di eliminare il numero stampa 0 al posto di quel numero. Se la funzione vi sembra giusta poi posterò il resto del programma.
grazie

listaPtr *eliminaUltimo(listaPtr *l, int k){

listaPtr *prev,*curr,*temp;

curr=l;
prev=l;

while(curr!=NULL){
if(k==curr->elem){
temp=curr;
curr=curr->next;
}else{
curr=curr->next;}}

free(temp);
return l;}

cionci
07-01-2008, 23:48
Non va bene perché devi fare in modo che l'elemento precedente a quello che elimini punti all'elemento successivo a quello che elimini.

xbubbax
08-01-2008, 08:12
come si fa?:D