链表队列和循环队列的基本操作
实验内容
完成以下任务:
数组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<<' ';
Q.front->next = p->next;
if (Q.rear == p)Q.rear = Q.front;
f

本文介绍了链表队列和循环队列的基本操作,包括数组元素入队、出队及队列状态检查。通过具体实验,展示了如何在链队列和循环队列(最大长度7)中进行元素的添加、移除,并提供了相关源码实现。
2321

被折叠的 条评论
为什么被折叠?



