Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //funziona
- void elimina(struct elemento *lista,int x){
- struct elemento *precedente=NULL;
- struct elemento *cancella;
- struct elemento *scorri;
- scorri=lista;
- while(scorri!=NULL){
- if(scorri->num==x){//devo cancellare
- cancella=scorri;
- if(precedente==NULL && scorri->next==NULL){
- lista=NULL;
- free(cancella);
- return;
- }
- if(precedente==NULL && scorri->next!=NULL){
- lista=lista->next;
- free(cancella);
- return;
- }
- if(precedente!=NULL && scorri->next!=NULL){
- precedente->next=scorri->next;
- free(cancella);
- return;
- }
- if(precedente!=NULL && scorri->next==NULL){
- precedente->next=NULL;
- free(cancella);
- return;
- }
- }//fine if controllo se da cancellare
- precedente=scorri;
- scorri=scorri->next;
- }//fine while
- return;
- }
- //funzione principale
- void eliminaPari(struct elemento *lista){
- if(lista==NULL)
- return;
- else{
- if(lista->num%2==0){
- elimina(lista,lista->num);
- eliminaPari(lista->next);
- }
- else
- eliminaPari(lista->next);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment