包含内容:链式队列结点定义,链式队列定义,入队操作,出队操作
#include<iostream>
#include<malloc.h>
#define Maxsize 50
using namespace std;
typedef int ElemType;
//链式队列结点的定义
typedef struct{
ElemType data;
struct LinkNode *next;//这个也是一个结点指针//
}LinkNode;
//链式队列的定义
typedef struct{
LinkNode *front , *rear;
}LinkQueue;
//入队操作//
void EnQueue(LinkQueue &Q , ElemType x){
LinkNode *s = (LinkNode*)malloc(sizeof(LinkNode));
s->data = x;
s->next = NULL;
Q.rear->next = s;
Q.rear = s;
}
//出队:出队指的是头结点的后继结点出队//
bool DeQueue(LinkQueue &Q , ElemType &x){
if(Q.front == Q.rear) return false;
LinkNode *p = Q.front->next;
x = p->data;
Q.front->next = p->next;
if(Q.rear == p) Q.rear = Q.front;//单独只有一个数据的时候,删了p会把rear报错,往前放//
free(p);
return true;
}