#include#include typedef struct node{ int data; struct node *pnext;}node,*pnode;typedef struct queue{ pnode front; pnode rear;}queue,*pqueue;void initQueue(pqueue );void insertQueue(pqueue ,int);void deleteQueue(pqueue);void traverseQueue(pqueue);int main(){ pqueue qu = (pqueue)malloc(10*sizeof(queue)); initQueue(qu); insertQueue(qu,1); insertQueue(qu,2); traverseQueue(qu);}void initQueue(pqueue qu){ qu->front = qu->rear = (pnode)malloc(sizeof(node)); if(NULL == qu->front){ puts("error!"); exit(-1); }}void insertQueue(pqueue qu,int idata){ pnode pnew = (pnode)malloc(sizeof(node)); if(NULL == pnew){ puts("error!"); exit(-1); } pnew->data = idata; pnew->pnext = NULL; qu->rear->pnext = pnew; qu->rear = pnew;}void deleteQueue(pqueue qu){ qu->front = qu->front->pnext;}void traverseQueue(pqueue qu){ pnode p = qu->front; while(qu->rear == p){ printf("%d ",p->data); p = p->pnext; }}