C++代码如下:
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
typedef struct student
{
int data;
struct student *next;
}node;
typedef struct linkqueue //队列有两个节点,头节点和尾节点
{
node *first,*rear;
}queue;
queue *insert(queue *HQ,int x) //入队
{
node *s;
s=(node *)malloc(sizeof(node));
s->data=x;
s->next=NULL;
if (HQ->rear==NULL)
{
HQ->first=s;
HQ->rear=s;
}
else
{
HQ->rear->next=s;
HQ->rear=s;
}
return HQ;
}
queue *del(queue *HQ) //出队
{
node *p;
int x;
if (HQ->first==NULL)
{
cout<<"溢出";
}
else
{
x=HQ->first->data;
p=HQ->first;
if (HQ->first==HQ->rear)
{
HQ->first=NULL;
HQ->rear=NULL;
}
else
{
HQ->first=HQ->first->next;
free(p);
}
return HQ;
}
}