【数据结构】循环队列理解及练习

本文详细探讨了循环队列的概念,通过AI绘制的示意图辅助理解,并总结了其关键要点。同时,提供了书中的进阶习题,设计了一个支持队头和队尾操作的循环队列实现,进一步巩固了循环队列的应用。
摘要由CSDN通过智能技术生成


最近对循环队列进行了深入了解,根据自己的理解用AI画了下面的示意图,并对其要点进行了归纳。如下所示:

 

下面是书上的习题,设计一个可以在队头和队尾进行入队、出队的队列,算是循环队列的练习升级版,代码如下:

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std;
const int  MAXSIZE = 100;//循环队列长度,可存储的最大数据个数为MAXSIZE-1
typedef struct cycQueue{
 int data[MAXSIZE];
 int front, rear;
}cycQueue;//数据类型定义

void initQueue(cycQueue  *& Q)//使用指针的引用
{
 Q = (cycQueue*)malloc(sizeof(cycQueue));
 Q->front = Q->rear=0;
}
int empty(cycQueue* Q)
{
 if (Q->front == Q->rear)
  return 1;
 else
  return 0;
}
int enQueue_f(cycQueue * Q, int x)//从队头入队
{
 if ((Q->front - 1 + MAXSIZE) % MAXSIZE == Q->rear)//判断队是否为满
  re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值