#include "averiles.h" typedef struct List{ struct List *next; int val; }* Liste; Liste delete(Liste head,int delval) { Liste prev, curr; curr=head; while(curr!=NULL){ if(curr->val==delval) { if(head==curr) { head=curr->next; free(curr); curr=head; } else { prev->next=curr->next; free(curr); curr=prev->next; } } else { prev=curr; curr=curr->next; } } return head; } void print(Liste x) { Liste ptr; for (ptr= x; ptr!= NULL; ptr=ptr->next) { printf("%d -> ", ptr->val); } printf("\n"); } int main() { init(); Liste y,z; int value; value=0; y=NULL; while(any){ z=malloc(sizeof(struct List)); z->next=y; z->val=value; value=value+1; y=z; } value=0; while(any){ value=value+1; } printf("Original sequence \n"); print(y); printf("deleting %d \n", value); z=delete(y,value); printf("deleted sequence \n"); print(z); }