#include #include #include #include struct node { char data; struct node *link; }; typedef struct node stuff; struct node *head; void etx(); void restuff(); void create(); void dle(); void frame(char); void display(); void restuff() { stuff *s; int i=0; while(i<5) { head=head->link; i++; } s=head; while(s->link!=NULL) { if(s->link->data=='D' && s->link->link->data=='L' && s->link->link->link->data=='E') { s->link=s->link->link->link->link; s=s->link; } else s=s->link; } s=head; while(s->link!=NULL) { if(s->link->data=='E' && s->link->link->data=='T' && s->link->link->link->data=='X') s->link=NULL; else s=s->link; } head=head->link; } void etx() { stuff *p,*n,*b,*r; r=(stuff *)malloc(sizeof(stuff)); r->data='X'; r->link=NULL; b=(stuff *)malloc(sizeof(stuff)); b->data='T'; b->link=r; p=(stuff *)malloc(sizeof(stuff)); p->data='E'; p->link=b; n=head; while(n->link!=NULL) n=n->link; n->link=p; } void dle() { stuff *p,*n,*b,*r; r=(stuff *)malloc(sizeof(stuff)); r->data='E'; r->link=NULL; b=(stuff *)malloc(sizeof(stuff)); b->data='L'; b->link=r; p=(stuff *)malloc(sizeof(stuff)); p->data='D'; p->link=b; n=head; while(n->link!=NULL) n=n->link; n->link=p; } void create() { stuff *q,*p,*n,*b,*r; q=(stuff *)malloc(sizeof(stuff)); q->data=' '; q->link=NULL; head=q; r=(stuff *)malloc(sizeof(stuff)); r->data='X'; r->link=NULL; b=(stuff *)malloc(sizeof(stuff)); b->data='T'; b->link=r; p=(stuff *)malloc(sizeof(stuff)); p->data='S'; p->link=b; n=head; while(n->link!=NULL) n=n->link; n->link=p; } void frame(char k) { stuff *t,*p; t=(stuff *)malloc(sizeof(stuff)); t->data=k; t->link=NULL; p=head; while(p->link!=NULL) p=p->link; p->link=t; } void main() { static char *k; int i=0; clrscr(); create(); dle(); printf("\nGive the Input data\n"); gets(k); // printf("\n\nActual Data:\n"); while(ilink; printf("\n"); while(s->link!=NULL) { printf("%c", s->data); s=s->link; } printf("%c\n", s->data); }