1#include <stdlib.h>2typedefCharele;3typedefstructnode{4 ele e;5 structnode Qnode;6}qnode,*qptr;7 8typedefstruct{9 qptr Front;Ten qptr Rear; One }queue; A - //initializing an empty queue - voidInitqueue (Queue *q) { theQ->front=q->rear= (Qnode *)malloc(sizeof(Qnode)); - if(!q->front) Exit (0); -Q->front->qnode=NULL; - } + - //Insert Queue + voidInsert (Queue *Q,ele e) { AQnode node = (Qnode *)malloc(sizeof(Qnode)); at if(!node) Exit (0); -Node->e=e; -Node->qnode=NULL; -Q->rear->qnode=node; -Q->rear=node; - } in - //Out Queue toEle delqueue (Queue *q) { + if(q->front==q->rear)returnNULL; -Qnode node = q->front->Qnode; theEle e = node->e; *Q->front->qnode=node->Qnode; $ if(q->rear==q) q->rear=q->Front;Panax Notoginseng Free(node); - returne; the } + A //Clear Queue the voidClearqueue (Queue *q) { + if(q->front==q->rear)return ; - while(q->front!=q->rear) { $Qnode node = q->front->Qnode; $Q->front->qnode = node->Qnode; - Free(node); - } the}
queue--Queue (C language simple implementation)