入队,出队
#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 = nullptr;
if(HQ->rear == nullptr)
{
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 == nullptr)
printf("溢出");
else{
x = HQ->first->data;
p = HQ->first;
if(HQ->first == HQ->rear)
{
HQ->first = nullptr;
HQ->rear = nullptr;
}
else{
HQ->first = HQ->first->next;
free(p);
}
}
return HQ;
}