编程实现队列的入队/出队操作
#include
#include
#include
#include
using namespace std;
//队列的链式存储结构
//结构体的方法定义节点
typedef struct student
{
int data;
struct student *next;
}node;
//定义队列linkqueue
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)
{
printf("\n yichu");
}
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);
}
}