Hello I have home work in c++: write function whose delete those elements who next element is even.
For example i have this list: 4 2 2, the result of this function mus be: 2. other example: 4 1 2 2, result: 4 2.
I write such function, but with this examples my function make errorin other way my function works correctly. Where can be error in this function?:
structure:
Code:struct elem { int n; elem *next; };
function:
Code:void remake(elem *&first) { elem *curr=first; elem *prev=NULL; elem *pprev=NULL; while(curr!=NULL) { pprev=prev; prev=curr; curr=curr->next; if(curr!=NULL) { if(curr->n%2==0) { if(pprev==NULL) { delete prev; first=curr; prev=curr; } else { pprev->next=curr; delete prev; prev=pprev; } } } } };



LinkBack URL
About LinkBacks



