C++单链表实现队列
//lian biao shi xian dui lie
#include "iostream"
#include "stdlib.h"
typedef int datatype;
using namespace std;
//datatype 链表的单个节点
typedef struct node
{
datatype data;
struct node *next;
}qnode,*pQnode;
//整个队列的入口,其中含有两个分别指向头和尾的指针
typedef struct
{
pQnode front,rear;
}linkQueue,*pLinkQueue;
//initlicize linkqueue初始化队列
pLinkQueue init_Linkqueue(){
pLinkQueue q=(pLinkQueue)malloc(sizeof(linkQueue));
if(q){
q->front=NULL;
q->rear=NULL;
}
return q;
}
//is empty判断链表是否为空
int is_LinkQueue_empty(pLinkQueue q){
if (q&&q->front==NULL&&q->rear==NULL)
return 1;
return 0;
}
//in linkqueue入队列
int in_linkQueue(pLinkQueue q,datatype d){
pQnode p=(pQnode)malloc(sizeof(pQnode));
p->data=d;
p->next=NULL;
if(!p){
return 0;
}
if(is_LinkQueue_empty(q)){
q->front=q->rear=p;
}else{
q->rear->next&