structnode{ElemTypedata;structnode*next;};structnode*front*rear;voidInQueue(ElemTypex){structnode*p;p=(structnode*)___(1)_____;p->data=x;p->next=NULL;___(2)_____;rear=___(3)_____;}structnode{ElemTypedata;{ElemTypedata;{ElemTypedata;structnode*next;structnode*next;structnode*frontstructnode*frontvoidInQueue(ElemTypex)voidInQueue(ElemTypex)*rear;voidInQueue(ElemTypex)voidInQueue(ElemTypex)structnode*p;structnode*p;p=(structnode*)p=(structnode*)___(1)________(1)_____>next=NULL;>next=NULL;structnode*next;};structnode*front*rear;ElemTypeOutQueue(){ElemTypex;if(___(1)_____){printf("\n");exit(1);}else{structnode*p=front->next;x=p->data;front->next=___(2)_____;if(p->next==NULL)rear=front;free(p);___(3)_____;}}