data structures using struct node *delete_beg(struct node *startstruct node *ptrptr startstart start -nextstart -prev nullfree(ptr)return startstruct node *delete_end(struct node *startstruct node *ptrptr startwhile(ptr -next !nullptr ptr -nextptr -prev -next nullfree(ptr)return startstruct node *delete_after(struct node *startstruct node *ptr*tempint valprintf("\ enter the value after which the node has to deleted ")scanf("% "&val)ptr startwhile(ptr -data !valptr ptr -nexttemp ptr -nextptr -next temp -nexttemp -next -prev ptrfree(temp)return startstruct node *delete_before(struct node *startstruct node *ptr*tempint valprintf("\ enter the value before which the node has to deleted ")scanf("% "&val)ptr startwhile(ptr -data !valptr ptr -nexttemp ptr -previf(temp =startstart delete_beg(start)else ptr -prev temp -prevtemp -prev -next ptrfree(temp)return startstruct node *delete_list(struct node *startwhile(start !nullstart delete_beg(start)return start