/* program for queue by linklist */ #include #include typedef struct list { int data; struct list *next; }node; node *insert(node *); void print(node *); node *del(node *); void main() { node *fnode=NULL; char ans='y'; int ch; clrscr(); while (ans=='y') { printf("\n1]Insert\n2]Delete\n"); printf("Enter the reqd choice : "); scanf(" %d",&ch); switch(ch) { case 1: fnode=insert(fnode); print(fnode); break; case 2: fnode=del(fnode); print(fnode); break; default : break; } printf("\nWanna continue ? "); scanf(" %c",&ans); } } void print(node *fnode) { node *cnode; printf("\n"); for(cnode=fnode;cnode;cnode=cnode->next) printf("%2d",cnode->data); } node *insert(node *fnode) { node *cnode,*temp; int i=0; cnode=fnode; temp = (node *)malloc(sizeof(node)); temp->next = NULL; printf("\nEnter the data : "); scanf(" %d",&temp->data); while(cnode->next) { cnode = cnode->next; i++; } if (i==10) { printf("\nQueue is full : "); return(fnode); } else { if (!fnode) fnode = temp; else cnode->next=temp; cnode = temp; } return(fnode); } node *del(node *fnode) { if (fnode==NULL) printf("Queue is Empty"); else { printf("The deleted element is : %d",fnode->data); fnode=fnode->next; } return(fnode); }