链表队列和循环队列的基本操作
实验内容
完成以下任务:
数组7 5 3 9 2 4 全部入队列
进行三次出队列
将15 18入队列
输出从队头到的队尾所有元素
分别用链队列、循环队列(最大长度为7
队列的操作比较简单
链表队列参考链表
循环队列记住下标加一以及队列满的判断
源码:
#include<iostream>
#include<malloc.h>
using namespace std;
typedef struct QNode {
int data;
QNode* next;
}QNode, * QueuePtr;
typedef struct {
QueuePtr front;
QueuePtr rear;
}LinkQueue;
//链队列的创建
//假设不为空队列
void DeQueue(LinkQueue& Q, int& e);//出列
void EnQueue(LinkQueue& Q, int e);//入列
void PrintQueue(LinkQueue Q);//输出
void InitQueue(LinkQueue& Q);//初始化
void InitQueue(LinkQueue& Q) {
Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode));
Q.front->next = NULL;
}
void DeQueue(LinkQueue& Q, int& e) {
QNode* p;
p = (QueuePtr)malloc(sizeof(QNode));
p = Q.front->next;
e = p->data;
cout << e<<' ';